Version control – the right tool!
I remember very clearly a few years back. My first introduction to version control. I thought “Wow! This CVS-thing is the most useful tool I’ll ever come across”. Some time went by and I worked on some projects where CVS was great! I mean – instead of swapping floppy disks or USB-drives around, manually synchronizing code. Geez – what had we been doing all this time!
Then… Along came Subversion (everyone might have known – but it came along – into my life). And I was amazed once again! It was CSV – but better! Oh my gods! Better! Than CSV! If I had a scale I needed a new one – this was off the charts! Every project I have worked on since then have used Subversion. It’s amazing. Ok – I admit it – it has some… ehm… let me get back to that – for now: Subversion is great! I even have my own repository for my @home projects – very neat. I don’t really share them with anyone – but they are in a Subversion repository – and that is great!
Ok – I admit it! Subversion has some odd bumps. Branching and merging is one. I read a small tutorial about it and went for it! No problem! Well… Until we had to merge some changes in the stable version to the development branch – how was that done. I have to say – I need to look merging branches up every single time I need to do it. That is ridiculous! I’m a developer! I use a tool written by other developers! To be used only by developers! And the way everyone develops software is by having at least one stable branch and one development branch (if you don’t – then we need to discuss something completely different! If it is because merging and branching sucks – please read on). Why is this so hard!? To tell you the truth – it’s not!
Let me nail this to the wall: BRANCHING AND MERGING IS EASY!
It is a 3-step process:
- Get rid of your old version control system!
- Get Mercurial (or Git)
- Branch/merge happily hereafter!
Easy!
There are several things I’d like to point out – more of that in a later post!
First you should go learn the basics – I recommend: Hg Init: a Mercurial tutorial, by Joel Spolsky.


