I was looking for a nice GUI for Mercurial (and there are some), which I basically want for seeing nicer diffs. After searching a while I did come across something. In the Mercurial wiki I then found Using FileMerge.app/opendiff as the diff program (OS X). Pooh that is much better now :-).
Commiting more often
During the couple hours I was using Mercurial without having a nice diff tool I realized, that the “merge often” strategy also helps a little here. And if I understodd this right, that is the usual way when working with a distributed version control system, which also implies why they have to be faster in doing their operations.
If you just commit much sooner, say after you have finished a bigger train of thought (the drcs-way, if I got that right), instead of after having the entire task done (my usual svn way), then you also don’t need the diff tool that often. I am still used to diffing before every commit and just making sure I left no debug stuff in there and simply to be confident about the checkin. May be this is a bit old-fashioned and I should just really double-check by inspecting the diffs thouroughly when the before mentioned big task is done and I want to push it back to the incoming repositiory or distribute it in some other way.
My way to the distributed version control systems
After having ignored the distributed version control systems for a while I finally started using them, when the number of parallel patches and changes just overwhelmed me. And I realized it to be especially helpful when the revision control system that the client is using is not reachable over the web, just via intranet and you still have to work in some other place and want to checkin at times.
Actually I was interested in this stuff already for a while and first heard about it from Jan in 2006 (he suggested svk, by then I completely rejected the idea, because I didn’t see the necessity I guess) and some time later I got reminded of it again when I saw the much talked about video from Linus Torvald’s talk about git (which in some parts I find a bit too bold).
And finally today when I was listening to Scott Hanselman’s excellent show (excellent as usual, great job Scott, you are so enduring and have always interesting shows, keep it up) Distributed Source Control with Git all barriers finally came down and I have fully fallen for it.