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