We just moved company code from subversion to git. And I’m very happy about it! Over the years, I’ve used Visual Source Safe, ClearCase, CVS, Subversion, and now Git. Of those, Git is my new favorite. Yes, I’ve heard good things about Mercurial and bz; just haven’t used them. I’m currently working with someone who has some good points on TFS too.
The reasons are simple: performance, local history, distributed repositories, easy merges, and selective change sharing.
We have a master repository currently on unfuddle (recommended). Commits and merges are so ridiculously painless and performance is so much better, that small and frequent commits are just natural. We haven’t really taken advantage of the branching features yet, but feature branches are something I intend to play with.
Next up, moving our open source repository to GitHub. I expect git tooling will improve as more people use git on windows. For now, I’m using msysGit and command line tools.
-j