02 February

We are moving the mobile robotics lab to Mercurial for source code control and management.

Mercurial is a source code control system (i.e. version control system) similar to CVS, SVN (subversion) or SCCS, if you know any of those. That means it helps you keep track of a set of files, recover an old version of a file, or combine the work of multiple authors. Mercurial in used via the command-line command "hg" (Hg being the symbol for the element Mercury). Mercurial is distributed inder the GPL v2 (i.e. it is true open source).

Example of Mercurial web interface

I have been looking for a CVS replacement for some time, and narrowed the choices down to a couple of options some time ago.

The full set of tradeoffs is a long story (see references below), but the key features that Mercurial has are:
1- platform independence (works on Linux, Windows, QNX, and Mac OS X).
2- web based interface (works via command line, or HTTP, or HTTPS, or SSH). GUI clients also.
3- easy to learn and use (with command-line interface similar to svn and CVS, but also differences in semantics).
4- distributed version control; no central server required.

Mercurial also allows an repository to be imported from CVS or SVN, so migration should be not-too-hard.

I believe the 4 issues above, and especially ...

1 & 3 are VERY important for us. We are a rotating pool of users, and they need to be able to learn is easily. It needs to work on many types of system including, at least, all those noted above. Git is an alternative, but it is harder to learn and does not work as well on Windows, and it needs to be repacked. Bzr is an alternative, but it is not s mature and also seems to be losing mindshare. svn is an alternative, but it's old, not distributed, and space-hungry.

One risk factor is that mercurial is not as heavily used as git and might (theoretically) have insufficient support, but that does not seem problematic as it does have a big user base and is used for several very major important projects

Mercurial is seems the best choce given the issues above (in second place: git, third place: svn, fourth place: CVS).

Basics (must read):

For CVS lovers (CVS refugees): http://www.selenic.com/mercurial/wiki/index.cgi/CvsInfo

Mecurial main site, documentation, etc.


svn, mercurial, git, bzr comparison article: http://joshcarter.com/productivity/svn_hg_git_for_home_directory

Mercurial FAQ (nice, from Mozilla, which now uses hg instead of CVS):


Example hg web interface to a project of some kind (comes free by typing "hg serve and
allows nice viewing options) [I don't know what this project it, I just picked a random hg repository ]


By Gregory Dudek at | Leave a comment |    
There are no comments.
Please send trackback to:/blog/151/tbping
instant same day loans

One example is, they can be less costly than unauthorised overdrafts (which are away from consumer's manage in terms of whether or not they are given)

Posted by: ping from Anonymous Blog at May 26,2013 08:45
Post your own response

Each comment is manually screened for the presence of appropriate and substantive content, due to a constant onslaught of comment-spam. This means there may be a delay before your comment appears.

(Some kind of name is required, will be visible)

Required, whatever you enter will be visible to other users.

(Optional, used for "mailto" link)

Your email address is not required, but if you insert it it will be displayed so people can contact you.

Answer this question correctly to demonstrate that you are not a dumb spambot.

The title for your comment.

Your comment goes here. All relevant comments are welcome, except for those that simply promote an irrelevant product or else are used to fraudulently inflate the link count to an irrelevant web page. They appear after moderation. Don't forget to also fill in the captcha below or your text will be rejected automatically!

You must answer this question to prove you are human
which has the least friendly public image: 1:collie, 2:beagle, 3:doberman, 4:dachsund, 5:dalmatian?

Answer this question correctly to demonstrate that you are not a dumb spambot.