In general I like the idea of distributed SCMs… but I’ve found that actually most of the time I use an SCM as much to distribute and archive as I do to actually do revision control. Over the last year or so I’ve really tried to become a big Hg fan, and honestly, its just one disappointment after another. For small local things its great, diffs are easy to create, etc. But pushing or pulling repositories takes an eternity, which is compounded by the atomic nature in which you don’t see any files until its done. Trying to use a distributed SCM in a centralized way is a massive pita. And while I love the idea of pushing Hg changesets around rather than diff’s, the reality is that unless all your developers are also using Hg you revert back to diff patches.
So I’m looking for feedback from others in this regard. Have you too been w00d by the advantages of a distributed SCM and just never become a fan, like myself? Have you made the switch and then reverted back to SVN/CVS/etc? Or, on the otherhand, have you been so wow’ed by Hg that you just won’t go back? Post a comment and share your opinion.
BTW, I’m really interested in Hg experiences… please avoid with all your strength a “Hg sucks, use git” comment.