Version control poll
by Randall Hauch
As part of the rebranding that we'll be doing soon, we're going to switch version control repositories from our current SVN location () to another repository. We can very easily stay on the same SVN instance, or we can take the opportunity to switch to Git. Of course, it isn't "now or never". Even though the rebranding point would be an excellent time to switch (since we have to move repositories anyway), it isn't the only time we could switch to Git. So if it's not now, I suspect we'll make the switch within six months (or so).
I'd like to hear what people have to say on the matter.
Personally, I've been using Git locally for many months, and couldn't imagine going back. I simply love the ability to have local branches (that are almost always named for the JIRA issue) and to switch between them very easily. And I'm not even benefiting from the ability to push these branches out anywhere else. The Git Eclipse plugin works very well for me, but I'm very used to the command-line and don't expect much from my Eclipse Team UI functionality anymore. (I really just want Eclipse to tell me which files are changed locally, which the plugin does very well - everything else I use the command line for because its far easier IMO.)
However, I do have several concerns. One of them is whether this raises or lowers the bar for people downloading the source, submitting patches, or for becoming new committers. For people that only have SVN experience, I think this will dramatically raise the bar because Git will be a big unknown for them. On the other hand, Git is becoming extremely popular and used on a lot of projects, so while this might be the norm now, I don't expect it will be in a year. For people that do know Git, our using Git would actually _lower_ the bar for their submitting patches, because they can create a patch on their own Git repository (or if that's not accessible then on a site like GitHub) and give us a URL, where we can pull it in to review and possibly commit.
Another concern is what the Git experience is on Windows, which I can't evaluate. The Git experience is pretty much the same on OS X, Unix, and Linux mostly because command-line support is so similar. But while Windows has very different command-line support, it does seem that msysgit (http://code.google.com/p/msysgit/) gets around that issue pretty well. I'd love to hear about your experience with Git on Windows, though.
One concern I have had in the past was whether our Hudson continuous integration system will support Git. I happy to say that a Git plugin for Hudson has been available for some time, that our Hudson team have a test environment where they've install it, and I will be creating some test jobs for them. So while this still is an issue, it shouldn't be within a few weeks of the New Year (or sooner if I can find the time).
Please stand up and be heard.
Best regards,
Randall
14 years, 5 months