Possibility of switching our source repository to Git

Over the past two years, I’ve become increasingly frustrated with Subversion, because:

  • There is no way to search a repository with SVN. If you can’t remember where some old code was, your only option is to hunt for it manually.

  • You have to be online to do almost anything with SVN. I find myself coding without internet access rather frequently (on planes, in trains and cars, in airports and hotels), and it’s irritating that I can’t make commits, compare between two branches, get a previous version of a file, etc. at those times.

  • Operations like merging, diffing against other branches, etc. are often painfully slow in SVN.

  • You can’t do partial commits in SVN. I’ve frequently had situations where I’m working on a file and I find a problem completely unrelated to the one I’m working on. I want to fix it now, but I’ve already modified the file and don’t want to back out my other changes. SVN won’t let me commit only a few lines of my file, and leave the rest uncommitted.

You can do all of these things in Git. I’ve been using Git on another project (for work) for the past three months. It took me about a day to get to the point where I could use it as well as SVN, and now I can’t imagine ever setting up another SVN repository again. SourceForge supports Git, so it’s something we could switch to quite easily if we wanted to. I’ve noticed that Git has surged in popularity in the past year or so—it seems to me that most new projects I see these days are using it. I wouldn’t be surprised eventually to find developers who know Git, but have never used SVN.

There’s more on Git here (by way of comparison), for the curious:

whygitisbetterthanx.com/#svn

Does anybody have thoughts on this?

Is it integrated into Eclipse?

  • M.

On 15 December 2010 09:37, uckelman uckelman@nomic.net wrote:

Over the past two years, I’ve become increasingly frustrated with
Subversion, because:

  • There is no way to search a repository with SVN. If you can’t remember
    where some old code was, your only option is to hunt for it manually.

  • You have to be online to do almost anything with SVN. I find myself
    coding without internet access rather frequently (on planes, in trains
    and cars, in airports and hotels), and it’s irritating that I can’t make
    commits, compare between two branches, get a previous version of a file,
    etc. at those times.

  • Operations like merging, diffing against other branches, etc. are
    often painfully slow in SVN.

  • You can’t do partial commits in SVN. I’ve frequently had situations
    where I’m working on a file and I find a problem completely unrelated to
    the one I’m working on. I want to fix it now, but I’ve already modified
    the file and don’t want to back out my other changes. SVN won’t let me
    commit only a few lines of my file, and leave the rest uncommitted.

You can do all of these things in Git. I’ve been using Git on another
project (for work) for the past three months. It took me about a day to
get to the point where I could use it as well as SVN, and now I can’t
imagine ever setting up another SVN repository again. SourceForge
supports Git, so it’s something we could switch to quite easily if we
wanted to. I’ve noticed that Git has surged in popularity in the past
year or so—it seems to me that most new projects I see these days are
using it. I wouldn’t be surprised eventually to find developers who know
Git, but have never used SVN.

There’s more on Git here (by way of comparison), for the curious:

whygitisbetterthanx.com/#svn[1]

Does anybody have thoughts on this?

[1] whygitisbetterthanx.com/#svn

Thus spake Michael Kiefte:

Is it integrated into Eclipse?

Yes, there are several Git plugins for Eclipse.


J.

Fine with me then.

Certainly can’t be harder to use than SVN.

  • M.

On 15 December 2010 12:37, Joel Uckelman uckelman@nomic.net wrote:

Thus spake Michael Kiefte:

Is it integrated into Eclipse?

Yes, there are several Git plugins for Eclipse.


J.

Also, were we to have consensus on making this change, it’s not something I’m thinking of doing right away—I don’t see that I’d get to it before the middle of January, as it’s not exactly urgent.

I wouldn’t object to waiting even longer, to have time to learn Subversion better first, but as the last man onbaord I know my vote counts the least.