Git is fantastic, I’m not sure why you’d even bother with subversion anymore. This morning I pulled from subversion via “git svn rebase” then pulled directly with “svn update”. Git svn was so much faster that it’s scared me. I was sure it must have run off the rails, but no it had actually done the right thing. Slowly but surely I’m moving myself over, even though i work in a subversion shop.
How can it take less time for “git svn rebase” than for (the exact same updates) “svn update”? The only answer is that the base assumptions underlying subversion are not right. I’ve looked and looked and all git seems to be is a fancy front end for diff and patch. I guess I could be wrong but I don’t think so. All the branch, merge tracking subversion does just gets in the way. Git’s a better versioning system than subversion for an individual, it requires basically none of the admin overhead. What’s even better is that by making each developers life better it makes group development better.
The only downside is git’s inability to enforce a development model. I’ve worked in a lot of different shops using any number of development models. The one things those shops had in common was that the choice of version control pinned that portion of the development process. Git leaves that up to each team. I guess we need to develop (a set of) model(s) for using version control as well as the other parts of the development cycle.