Saturday, July 11, 2009

Version Control - how to save my work?

I am a heavy user of IBM products, I heavily used ClearCase, it is good we can create config spec and do lot of bulk operation. But it needs separate Venture Capitalist to sponsor the software, it needs admin and huge hardware. Oops..... not good for me.
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)
  1. create a local repository - Clone/Init
  2. Modify the code
  3. Commit -locally
  4. repeat the step 2 and 3 as long as you wish
  5. Push the changes to the Server - If conflict due to another users modified code, you can resolve
  6. Pull from the server
  7. merge
Steps 5 and 6 involves the communication to the server. Others are done locally.

There few options in choosing DVCS,
1. Mercurial
2. Git
3. Bazaar

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.

No comments:

Post a Comment

Thanks for reading and welcome for commenting...