I recently learned of a nice introduction to distributed version control using mercurial at http://hginit.com. It starts with a well-reasoned rant on subversion then goes on to introduce by way of tutorial the key concepts needed to effectively use mercurial for source control. Most of the concepts would also apply to other popular distributed version control systems (DVCS). It's not too long and reads easily, sometimes wandering off in strange directions for a moment.  I was reminded a little of why's (poignant) guide to Ruby which is a really fun read and completely whacked out.

I switched to using mercurial for source control about a year ago and haven't looked back.  What is great for astronomers developing projects large and small is the ability to go into any project directory and start controlling the source with just "hg init" (followed of course by adding files to the repository).  The commitment level is so low that I actually do this for small one-developer (me) projects that may never see the light of day.  Because I'm working entirely within my own repository I don't hesitate to commit often, leaving a much better trail of changes. 

So if you haven't already done so give DVCS a try.  Mercurial is written in python so it also supports a nice python API for even fancier stuff.

    6           8