I love distributed version control: before Git I used darcs extensively. Darcs is really nice, and was developed by one of my high school classmates (a fellow physicist), but it seemed that its bugs and performance problems would go perpetually unfixed. I started to look for a replacement.
Git was the leading contender. Yes, Git rocks, but there's more to it than that. When your SCM of choice also hosts the Linux kernel (and, indeed, was developed for that very purpose), you know it will never be abandoned. No serious bug can last for long. That risk mitigation is worth a lot, and it's one of Git's biggest strengths.
I realized about three months ago that Git was going to win. I'm not sure what tipped it, but it made me happy: partially because I felt proud to have figured it out, but mostly because it meant I could stop agonizing about which SCM to use.
I have to say that Github is pretty awesome, and the fact that it uses a lot of the new "cloud" style backend server setup means that the day that they have scalability issues is the day that you should be worried if the internet has such intrinsically.
The one issue about git that I'm not comfortable with is the whole explicit branching part of the the design. While for a large project this is pretty easily the "right" way to design a DVS (if for a large / professional grade project you're not explicitly planning everthing, you should be worried), for smaller projects I think darcs' patch dependency tracking approach is much better (or at least much lighter weight).
actually, Bram Cohen's blog on the various version control systems articulates what I was trying to say perfectly "Darcs's big advantage right now is that it have very good extensive support for cherry picking, a feature which is planned for Codeville but not implemented yet, and I'm not sure if it's planned for Monotone."
Github really is great. If you haven't used it, and claim not to be a fan of Git, you should really check it out. It almost manages to make Git seem friendly, even; Suddenly, forking isn't a dirty word any more (and it shouldn't be, this is OSS!).
Tools like Github and Gitorious make Git palatable, and are also interesting from a 'social graph' point of view, where relationships amongst Geeks are measured by the lines drawn between the projects they work on or are interested in...
I think the relative simplicity and originality of git concepts is fueling the avalanche. Scott Chacon has been doing some cool stuff implementing Git in Ruby (http://github.com/schacon/git-ruby/tree/master) and possibly ActionScript.
Git was the leading contender. Yes, Git rocks, but there's more to it than that. When your SCM of choice also hosts the Linux kernel (and, indeed, was developed for that very purpose), you know it will never be abandoned. No serious bug can last for long. That risk mitigation is worth a lot, and it's one of Git's biggest strengths.
I realized about three months ago that Git was going to win. I'm not sure what tipped it, but it made me happy: partially because I felt proud to have figured it out, but mostly because it meant I could stop agonizing about which SCM to use.
Viva Git!