I have occasion to write scripts for systems administration, and for years I’ve stored them in a shared CVS repository.
Lately, however, I’ve been interested in distributed version control systems (or DVCS). The concept of DVCSes resonates with me — even though I cannot say I totally grok them yet. Of the DVCSes I’ve read about, Mercurial (aka “Hg”) has caught my eye, particularly because it is:
Anyway, just to put it through its paces, I created my first repository, added a script to it, and began managing. It’s making sense to me and I’m pleased so far with the results, so I’ve got more repositories and more files under revision control already. Of course, I’ve actually revised some of them, so I’ve seen how changesets operate in real life.
I’m finding it simple to use, especially after having skimmed through the Hg tutorial and scanned some of the Distributed revision control with Mercurial on-line and printable book by Bryan O’Sullivan (who was in a good Google Tech Talk on Mercurial).
Overall, I believe that systems administrators — even those who focus on client systems — should become familiar with version control and be able to employ it for any scripts they write as well as configuration files they manage. It just makes sense to me, and after a day with Mercurial, I’m finding that it works well me.