Learning new version control systems

Rather interestingly, the subject of DSCMs[1] has come up on various GNOME mailing lists.  I’ve always been peripherally interested in them, and have read at least several dozen articles/blogs/howtos/comparisons/etc. on them.  I even tried one a number of years ago, but unfortunately picked a horribly awful one that was so amazingly painful to learn and use (in more ways than you’d think possible)[2] that I’ve avoided adopting any others for a long time.

Now, I have made very basic use of both bzr and git in the past (only used a subset of the basic features of each) — but both were some time ago.  I’ve heard that both have changed quite a bit since then, which is good, or neither would be fit for use.  (bzr was painfully slow even on small personal projects, and git was beyond unreasonably complex to attempt to learn.)

So, between the recent interest in both the GNOME and the KDE camps, and wanting to find something nice to advocate replacing CVS at work, it’s probably time for me to start learning some new version control systems and making my own comparison so that I can participate intelligently in the discussions.  cvs, svn, git, bzr, hg, and possibly others, Oh My!  (That doesn’t have the same ring as “lions, and tigers, and bears!  Oh My!”, does it?)

[1] Distributed Source Content Management systems, though I dislike the name as it is somewhat misleading. It implies that the systems must be used in a decentralized way, when in reality the difference is that these version control systems come with distributed capabilities as well as centralized ones. Xorg is an example that uses a DSCM in a largely centralized way (or at least was), and that’s how I’d expect GNOME to use it and most users to use them (at least at first).

[2] The system was tla (and baz), for the curious.

2 Responses to “Learning new version control systems”

  1. Here is a good comparison:
    http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

    It can’t tell you what to like, but it might save you some time looking.

  2. jmmv says:

    Don’t forget to look at Monotone (http://monotone.ca/) too! Very easy to use, excellent tutorial to get you started, decent code base, good scripting abilities, portability to Win32 and a huge self-test suite.