Should I look at version control systems beyond Subversion? Should I look at version control systems beyond Subversion? git git

Should I look at version control systems beyond Subversion?


Git, Mercurial and Bazaar are distributed control systems that operate of the idea that you aren't always connected to the Net, and that there need not be one central version of the repository.

If you're doing a lot of detached work, sometimes called "airplane mode", as in you're on an airplane and can't commit, take a look at Bazaar. I've found it easier to acclimate to than Git or Mercurial.

If you're always doing work connected to the Net, and you're the only developer, then you can probably stick with Subversion.

Also, please consider the value of keeping your home directory in Subversion.


Mercurial

I mainly used CVS and SVN, happy and content, then I started researching Distributed Source control as there was lots of fuss made about DSVC. After a using DSVC I noticed a change in my development style, I became more fluid and adaptable. Allowing me to merge back into trunk or experimental branch painlessly.

  • Mercurial can scale from a one man band to huge ie OpenJDK, without much headache.
  • Mercurial is fast, maybe not as fast as GIT, but it is still really quick
  • Mercurial Queues is a fantastic way of managing patches. At the speed of greased lighting.
  • It can run on different OSes, compatibility is great as it is based on python.
  • the learning curve is lower than GIT, after a few docs read you get the basic jist of things (http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/)
  • hg allows (so do many DSVCs) you to interface with a corporate SVN Source control with hg-svn and hgsubversion which is a wonderful extension with allows and checkouts, but not yet pushing or commit functionality
  • You may also setup a HTTP server run push and pull via SSH
  • also have really neat option of getting together with your coding buddies and simply startup HTTP server run it over localhost and your mates can push and pull while you doing a code sprint.
  • You may also see the current status of the project via this HTTP page.
  • lastly look here for a brief description of the simple commands (http://edong.net/2008v1/docs/dongwoo-Hg-PDF.pdf)

Git

  • tried it, its support for svn is better than mercurial. but since hgsubversion is on the up and becoming competition for git svn.

Git is cool, but you need to constantly maintain your source code depo and repack it.As it consists of many bash scripts it has trouble running on windows.But it is blazingly fast, with many features for you to use. Actually the amount of features can be a disadvantage.

BZR

  • never tried it

I havnt looked back since I started with HG


I personally would stay with Subversion. From a professional stand point I have seen a lot more jobs ask for (and know) what Subversion was compared to GIT. Also there are a lot of open source and freeware tools built around Subversion, not to mention Subversion's huge community.

Source control is not always about the latest and greatest, but is more often about what is tried and true.