[Geany-devel] Git Switch (again)
mbrush at xxxxx
Thu Apr 28 01:36:54 UTC 2011
I'd like to revive this thread. I wasn't around during the initial
thread but Jiri has just pointed me to it and I read it through. I'd
like to summarize (at least my take) on that thread and then list some
pros and cons to stimulate a discussion.
I am not an expert on anything, but I've used both Subversion (via
SourceForge and Google Projects) and Git (via GitHub.com and Gitorious).
Also, this is as much about not using SourceForge as it is about
switching away from Subversion.
Summary from previous thread:
The people in the thread who do not want to switch to Git, or those who
don't seem to care either way, are those who have commit access to
Subversion on SourceForge. Most (if not all) contributors to Geany are
using Git (via git-svn). The workflow for those who don't have commit
access on the subversion repository, when contributing to Geany is
sub-optimal (to put it politely). SourceForge is painfully slow and the
interface for viewing SVN source code online isn't great.
I think the reason GitHub/Gitorious is mentioned so much is not only
because of the "Git" in their name, but also because it allows people
who don't have commit access to actually be active members in the
community, by means of having their public forked repositories, sending
merge/pull requests, etc.
Cons from the previous thread:
- It's more social
- Not plain enough (I guess too Web 2.0/feature-full/cluttered)
- Effort required to move the project
- Having to learn a new VCS for those not familiar with Git
Pros from the thread:
- It's more social
- It's not so plain (ie. has more features which work well).
- Moving the codebase and history is very easy, for example using the
script from the thread or GitHub offers you to import a SVN repository
through the web interface when creating a new repository.
- Easier to contribute to the project for those without write access
- Faster hosting and better interface.
- Harder to have patches slip through the crack.
- Not having to maintain/create patches as much/at all.
- Public contributor repositories associated with the main one.
- No need to maintain changelog and authors files
- Proper attribution, blame and history for contributors and not having
to put "Thanks" in all the commit messages.
Not sure if I missed any, or misconstrued them.
Here's some features of better project hosting sites. I'm listing
things from GitHub because I know it better than Gitorious and others:
- Great source code viewer, branch/file browser, history/commit viewer.
- Ability to link to and comment on commits and even specific lines of a
commit, for code review, etc.
- Nice network graph viewer to get a better idea of what everyone else
is working on, needs to be commited, etc.
- Tracker for pull/merge requests so no need for contributors to
generate/maintain patch(sets) and keep bumping ML threads so their
patches don't go forgotten.
- Fork queue to compare other peoples repositories' commits against your
repository to cherry pick specific commits, with an indication of
whether or not the commit/patch will likely cleanly apply
- Good issue/bug tracker
- Built-in Wiki software
- Nice graphs to show languages, impact, commit activity, etc
- Web hooks to notify by email/ML, IRC and other services of commits,
- No need to create nightly tarballs separately since the server takes
care of this automatically when users clicks the Download link.
Hopefully this will stir up a little discussion about actually switching
because every time I use SourceForge I die a little inside :) I think
switching to one of the Git project hosting sites will really help the
community/contributors get involved and feel like part of the team while
still making sure the official code is controlled by a great team of
Obviously I'm not suggesting that the SourceForge project page is
deleted, just switching the main development activity to elsewhere. We
could have a git/svn mirror over at SourceForge still, and even keep
their bug/feature tracker, though I can't see why, since it's pretty lousy.
It really wouldn't be hard either, the whole "switch" be done in
probably 10-15 minutes, maybe 1-2hrs to wait for the history to be
imported. There's no real reason it needs to be a big deal either, we
could test out another project site and keep it the way it currently is
still with not much extra effort, just someone/somescript needs to push
to the new project page after committing to SVN. Basically all it would
take beyond that is for one of the founders/core members to take some
time to setup an account and push the code.
I already have a Geany repository I use over at GitHub.com if you
want to play with it to test out that site. Also, Jiri has an old
repository on Gitorious. Neither are exactly up to date. It's fun
also to see the Geany hackery already happening on these sites.
Sorry again for the long message.
More information about the Devel