I felt very motivated to use a DVCS in my next personal project after reading Martin Fowlers bliki and then writing about them last week. Based purely on Martin Fowlers recommendation, some light googling and my magic 8-ball I decided to go with Mercurial. Also the fact it has strong windows and mac support (unlike GIT) and is a fairly mature product might have had something to do with it :)
Coming from a Subversion background i had a bit of unlearning to do. My first mistake was forgetting that as a distributed version control system every machine needs to have its own repositories. Whoops.... that little assumption took me about half an hour of fluffing around trying to understand why my mac client (murky) kept tanking on me.
Anyway it turns out that there are some great articles/tutorials out there of those who have done the hard yards for you. So why reinvent the wheel?
- Joel Spolsky has put together a fantastic series of six tutorials at http://hginit.com outlining the key concepts. My favourite is the first tutorial where you are forced to unlearn your bad subversion habits
- StackOverflow has a great wiki on all you would ever need to know on the who/what/where/why/how of Mercurial
- A great Mercurial client for the mac by Jens Alfke called Murky
- And for windows subversion users there is of course TortoiseHg to ease the pain of transition
So enough blogging. Time to cut some code
Are you investigating this for your .NET work or for Xcode/iPhone? I've been meaning to look into it for my iPhone work, but haven't found the time. I'm just relying on Time Machine in case I ever need to roll back a piece of code :-)
ReplyDeleteI'm planning to try it out with my Xcode/iPhone stuff. The tutorials are pretty good so far. Definitely a bit of a mind shift though, from what i use at work.
ReplyDeleteGotta love that Time Machine.