SVN vs git on github

We're thinking about switching from SVN to git hosted by github.  Any community thoughts on this?

  • I'm a pretty big supporter of DVCS and I think this is a good move for Elgg. It allows us to host the entire code locally, enables a more controlled and trackable way to monitor contributions.

    There's also massive community support for Git, as well as a list of very respectable projects that are using it. All one needs to really look @ is or

    Since branching is incredibly cheap in Git, the commit assignments and bug fixes can be put on different branches and all Curverider really has to do is monitor one "HEAD" and/or "SUPPORT" branch to support. It also provides an incredibly flexible way for the entire community to benefit from a third-party core enhancement.

    I really think this is a good move in the right direction and I openly embrace this move.

    Mahmoud Abdelkader

  • Do you have a preference between gitorious or github?

  • If you don't mind me asking, I'm curious what the factors are in the decision, and what objectives you're hoping to advance by the switch.

    My experience is that these DVCS hosting services are great for improving the visibility of informally exchanged information, but, on the flip side, if anything they make stable knowledge more difficult to maintain in a canonical form.

    Ultimately both are essential.  I'm honestly not sure which is a more pressing need in/for the Elgg community.  But without knowing more about what's motivating the proposal, my gut concern is that the core developers might treat this migration as "the solution" to transparency & community-involvement questions.  (I'm a terrible worrier.)  And with the community already spread across Google Groups and's Elgg and Trac sites, I'm concerned that this might add to the confusion, so I think I'd lean towards the conservative choice until there were very compelling reasons for a change.

    Lastly: would issue tracking remain on's Trac or would it be moved alongside the hosted DVCS as well?  Seems like there is a Trac plugin for Github integration, so that could work nicely.

    Hope you don't mind all the questions & comments.  And thanks very much for soliciting thoughts from the community here.  I know it's all too easy to neglect that community involvement for infrastructural decisions, so I really appreciate the thought you guys are putting into this.

  • To be completely honest a good chunk of the motivating factor is "I can't stand SVN."  I used git in my previous position and switching back to svn has been painful.  Github offers pretty nice git hosting for open source projects, so it's a logical choice to consider.

    One very important fact is that Git makes merging community changes much, MUCH easier than SVN right now.  Currently how changes happen is a developer pulls down trunk, changes things, creates a patch, uploads it to trac, then waits for us to apply it to SVN, evaluate it, and commit it to core.  Git repos can be cloned, branched, and merged with much more ease.  If a community member fixes something, he can push to a fork that we can look at and immediately evaluate to pull in changes or not.

    I put this out to the community to see if there were any strong feelings either way.  We're currently refactoring our server infrastructure and thought this would be the best time to effect a change like this if we want.  So far there's been relatively nothing...

    This is obviously just in the beginnings of dicussions.  We're running SVN and Trac on a faster server right now, but will be doing refactoring in the next few weeks so would like to get some opinions...

  • Upon reading the discussion of the percieved transparency issues on the development mailing list, I was thinking of suggesting git myself.

    It seems as though this simple solution would provide answers to most of the issues raised by the community.

    I also much prefer git over svn for its ease of command line interaction, and I can definately see the benefit for curverider in being able to more easily visualize and integrate community submitted improvements.

  • The problem as I understand it is that the core developers have been too busy to look at patches. I don't think there can be a technology solution to this. (I don't care whether it is git or svn though switching anything always has costs.)

  • There were a combination of reasons for not having pulled in patches for core until recently, though it was never we didn't look at the patches.  This has changed and we're able to pull in large bodies of work as patches after 1.6 final.  There isn't technology to make us less busy, but there is technology to make our lives easier for this process, which is something I'm keen to explore.

    Not to sound like an ad, but we're looking to hire a couple more developers--details to please.  Full time, part time, and contracted positions available.

  • O'Reilly is sponsoring a webcast today about git entitled "Git in One Hour" today if anyone is interested.

  • I think this is a great move, again. However, I'm going to post what I wrote on the email list regarding Windows users. For the record, I'm not a Windows user, however, I would like to see how many people actually develop on a XAMP or a WAMP environment:

    I'm a big fan of git. I am a Linux user, both for development and personal use; however, one of the biggest issues that should be weighed before migrating over to Git though is that we can't assume that all developers who might contribute to Elgg are also Linux users.

    Git's support for Windows is abysmal. It's coming along, but it's not there yet. This is something to consider.

    Mercurial, on the other hand, is another big player in DVCS that supports windows since it's mostly written in Python. It's github equivalent is It also has very high profile projects using it.

    It's really, at this point, a matter of preference to narrow down the developer base and contributors and make sure the DVCS works for them also.

    Mahmoud Abdelkader

  • @danielwells -- Providence, you think? ;)

Feedback and Planning

Feedback and Planning

Discussions about the past, present, and future of Elgg and this community site.