Import and tracking of svn on github
tim at timwise.co.uk
Mon Apr 13 19:33:10 EDT 2009
They replied, for anyone who is interested.
------- Original Message --------
From: GitHub Support <no-reply at github.com>
Subject: Re: Import and tracking of svn on github [Email]
To: tim at timwise.co.uk
Subject: Import and tracking of svn on github
Full svn mirroring is something we would like to add. It's not a very high priority though as we don't have git mirroring yet either. It's likely that both will be implemented at the same time.
Tim Abell wrote:
> An open letter to support at github.com
> <mailto:support at github.com>---------------
> Hey there!
> Firstly thanks for a fantastic service.
> I would like to politely encourage you lovely people at github to
> support tracking of public subversion (svn) servers.
> I appreciate your sentiment that not supporting svn meta data is "/our
> gentle way of saying it's time to move to git full-time/" as stated in
> your comment on the relevant github blog entry
> <http://github.com/blog/156-subversion-importing>, and I agree that
> full migration to git is a desirable result.
> I am making some presumptions about what drives github (as many
> [paying] users as possible?), and I am aware there would be work
> involved for yourselves, however I will present some reasons why I
> think it would be good for github to support central tracking of
> public svn servers, both for github, and for the wider community.
> I will use the gnucash project as an example, as this is what I've
> been attempting to work on recently.
> For many open source projects using svn, the core developers who have
> svn commit rights are likely to be more or less comfortable with the
> status quo. They are already able to easily maintain versioned code
> for their project, and git offers only a minor practical gain for
> them. There is also likely to have been a reasonable investment in
> infrastructure around the svn server, such as build servers, irc bots,
> mailing bots, maintaining committer lists, web based svn access and
> documentation of the development process.
> This means it is unreasonable for an outsider like myself to 'demand'
> that an established project move to git for source code management
> (scm), a move which as highlighted above is extra work for those
> volunteers for little benefit to them.
> So this leaves a potential new contributor to a project such as
> gnucash with a steep barrier to creating any significant
> contributions. When creating and testing anything more than a
> relatively simple patch, it is highly desirable to be able to track
> changes in a local scm. As you are no doubt aware, svn offers no
> support for non-core developers to manage their code. The central
> commit rights model also makes it less useful to experiment, as there
> is a large barrier to publishing experimental changes and gaining an
> audience. This is damaging to the open source eco system.
> I have tried several approaches when attempting to create, manage and
> publish modifications to gnucash, none of which are entirely
> 1) Using github to clone the svn server directly.
> This is fine for a one off migration, but without a complete move by
> the core developers the lack of svn metadata means that the git
> repository is forever stuck in time and becomes decreasingly useful
> as the svn version moves ahead. I think most people who would like
> to use github to track a public svn server or open source project
> will get no further than this.
> 2) Local import from the svn server, followed by a push to github.
> This is effective, and allows one to continue to track the svn
> server. The original clone of a project such as gnucash (11k
> commits) takes considerable time (eight hours or more), and due to
> the non-portability of the svn metadata this process effectively has
> to be repeated by every new user who wishes to use this clone
> without falling behind the svn server (unless we rely on the
> original importer to keep grabbing changes). I suspect this is too
> much to expect from many casual new contributors.
> 3) Using a bazaar (bzr) branch on launchpad.net
> Launchpad will centrally clone and track a public svn server
> <https://help.launchpad.net/Code/Imports>. Personally I am not keen
> on bzr, and I'd take a wild guess and say you guys and gals prefer
> git too. I also ran into issues with the build scripts of gnucash
> expecting to be run from either an svn or a git working copy (a sign
> that at least one core developer is already using git privately).
> 4) Publishing patches on the bug tracker or mailing list.
> This is an inferior model to the git method of sharing changes, and
> makes it hard to collaborate on new features outside of the core
> development group.
> This currently leaves bzr/launchpad as a potentially attractive
> solution for new contributors, which I would imagine is not your ideal
> If your objective is as stated to encourage projects to move from svn
> to git, then I suggest to you that providing a continuous pull from
> the primary svn server would ease the transition for many projects. If
> there were to be a single central git repository on github that
> tracked the svn server, then it would make it easier for both new
> contributors and existing developers to begin working on the code
> primarily with git. This would include merging suggested changes or
> patches from new contributors to those with commit access using the
> excellent git model of publish and pull. Once this is the norm on a
> project it becomes much easier for the project to move completely to
> git as all the core developers can say "hey, we're all using git most
> of the time now, let's drop svn completely" and make the final jump.
> So in summary, I believe that providing continuous import from svn to
> github would encourage /more/ projects to migrate to github, not less.
> And that providing this service would be an enormous boon to the open
> source eco system.
> I hope I have made a persuasive argument, and look forward to your
> Relevant links:
> * github blog on svn imports
> * github svn import guide
> * launchpad svn import information
> * gnucash bazaar branches <https://code.launchpad.net/gnucash>,
> including one tracking trunk
> * me on github <http://github.com/timabell>, including various
> gnucash import attempts
> * gnucash wiki page on git <http://wiki.gnucash.org/wiki/Git>, which
> describes the trials of maintaining both in parallel
> * my git-svn ramblings <http://timwise.wikispaces.com/git+svn>
> Tim Abell
> tim at timwise.co.uk <mailto:tim at timwise.co.uk>
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
More information about the gnucash-devel