[Geany-devel] Git Switch (again)

Matthew Brush mbrush at xxxxx
Thu Apr 28 01:36:54 UTC 2011


I'd like to revive this thread[1].  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[2].
- 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 
core developers.

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[5] I use over at GitHub.com if you 
want to play with it to test out that site.  Also, Jiri has an old 
repository[6] on Gitorious.  Neither are exactly up to date.  It's fun 
also to see the Geany hackery already happening on these sites[7][8].

Sorry again for the long message.

Matthew Brush

[1] http://lists.uvena.de/geany-devel/2010-June/002602.html
[2] https://github.com/blog/39-say-hello-to-the-network-graph-visualizer
[3] https://github.com/blog/270-the-fork-queue
[4] https://github.com/github/github-services
[5] https://github.com/codebrainz/geany
[6] http://gitorious.org/geany/complete
[8] http://gitorious.org/search?q=geany

More information about the Devel mailing list