GitHub

Nikolaj Hald Nielsen nhnfreespirit at gmail.com
Wed Jan 7 11:38:26 CET 2009


I'll add my 2 cents...

I won't get into the relative merits of GitHub or other hosted git
solutions, but I will reiterate something that I have expressed on
numerous previous occasions.

For the bulk of the development we do, git is simply not the right
tool for the job!

A few reasons why I think this:

1. We are are about to move into the 2.1 development phase. This lets
us commit everything to svn trunk again. All things being equal, svn
trunk is where things mature, its is, as someone already mentioned,
our interface point with new contributors, translators, many testers
and so on.

2. Having everyone keep their own private git branches makes the
direction of development much less transparent. This might really be
more of a social issue than something specific to git, but I do fear
that we would loose the sense of shared direction that svn trunk is
giving us.

3. Even with git, merging is _not_ trivial. Already, several of the
things I have in branches have run onto huge conflicts with stuff
happening in trunk. And this has happened with just 2 separate
"paths". When everyone is working in trunk, these conflicts are
resolved "on the go" and are not allowed to snowball into really bad
problems caused by the "paths" being separated for a very long time.
This is an issue that will rapidly escalate if the development culture
shifts to one where everyone keeps their projects close until they are
almost done and then bulk commits.

Now, that said, I am sure some of you will be quick to point out that
I have more, large, git branches lying around than most of you. This
is true, and for this sort of exploratory development, I think git-svn
works... decently... even if there are many ways to hang yourself. But
this is a special case, at a special time in the development flow. My
goal is to get this stuff into svn as soon as possible as this is
where I expect it to mature and get the kind of testing it needs.

The main gist of the above is that I think git is likely to
drastically reduce the transparency of the development in general. Not
just because of the culture that git intrinsically promotes, but also
in very large part because it will, at least for the time being be
something that we graft on top of the main svn repo, at least unless
we are willing to loose translations, bugfixes, and other
collaboration with the greater KDE project.

And finally, I am pretty sure that KDE will start to officially
support git at some point in the future in any case which might make
much of this discussion irrelevant anyway.

- Nikolaj


More information about the Amarok-devel mailing list