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).
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):
http://www.selenic.com/mercurial/wiki/index.cgi/UnderstandingMercurial
For CVS lovers (CVS refugees): http://www.selenic.com/mercurial/wiki/index.cgi/CvsInfo
Mecurial main site, documentation, etc.
http://www.selenic.com/mercurial/
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):
https://developer.mozilla.org/en/Mercurial_FAQ
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 ]
http://hg.intevation.org/