For some time now, I have seen the light and I switched to the new wave of the Distributed Source Control management systems. Linus famous video
of his Google talk decided me to try. I was a bit apprehensive at first, wary of engaging myself on a technology that would bring more problems than solutions, but after some days of use, the realisation dawned over me: Distributed Source Control may be one little step for a programmer, but it is a giant step for programming. Why? because, its mental model actually follows your first intuitions
that most of us developed as young programmers before using any source control system. Suppose you want to try a feature? instead of just copying the directory, you clone it. You mess an operation? you just remove the directory, no embarrassing traces left to keep the burning scar of shame on you for the following decades of a central repository. You are used to think of your enhancements as patches, you can work with patches. I could go on and on, but many people have done it much better than me so I'll just say that you should definitely try it.
By the way, between the 3 main contenders, git
(aka HG), and bazaar
, I chose mercurial because of its simplicity, its better support of windows (I work in Linux since 1995 but my coworkers currently use Windows), and because some people at ILOG started using git so I wanted to be able to try something else. I did not choose bazaar as I wanted to stay close enough of git, to be able to switch to it if ever my dream to work in a windows-free world materializes one day...
So I started to set up a public web repository
of my Open Source personal work with mercurial, which gave me a simple way to publish my work in full detail, but, although mercurial is quite easy to use, but I had a bit of trouble figuring out how to customize its look & feel. So I have made a small cookbook on how to do it that you can find at the page /Hacks/HgwebMercurialTemplateCustomization Customizing the style of a HG / mercurial web repository