Software world come long way CVS is quite popular not only among open source geeks but many corporates uses it. Later new kid SVN came and addressed some of the shortcoming of CVS and its quickly become popular.
DVCS or Distributed version control system which born out of necessity. It addresses inherent issue with centrally managed version control system. User can locally create a copy of repository and as and when send a change to server. So latency, delay associated with centralized management and network activities for every action on files got alleviated. It follows certain lifecycle, (Mercurial)
- create a local repository - Clone/Init
- Modify the code
- Commit -locally
- repeat the step 2 and 3 as long as you wish
- Push the changes to the Server - If conflict due to another users modified code, you can resolve
- Pull from the server
Steps 5 and 6 involves the communication to the server. Others are done locally.
There few options in choosing DVCS,
I am using Mercurial (Bitbucket's service) almost from 2007. It has good tortoiseHg GUI which integrates natively with Windows Explorer (Microsoft).
Git and Bazaar also suppose to be good and it is based on personal taste and difference over what it offers is minor but may be matter to choose one from another.
Google uses Mercurial for its Google Code. But it uses Git for Android. Sun Microsystem uses Mercurial extensively for Open Solaris, Netbeans etc. Mozilla also uses Mercurial.
Git is used for Linux kernal and lot of others.
Github is most popular hosting service which offers Git repository. Bitbucket is offering mercurial. There are quite few offers dvcs repositories for few bucks. It is really good for startups to use these (Cloud Service) service.