They replied, for anyone who is interested.
http://support.github.com/discussions/email/1811-import-and-tracking-of-svn-on-github

------- Original Message --------
From:   GitHub Support <no-re...@github.com>
Subject:        Re: Import and tracking of svn on github [Email]
To:     t...@timwise.co.uk


From: Tekkub
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 supp...@github.com
<mailto:supp...@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 satisfactory:

   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
   <https://code.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 scenario.

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 response.

Relevant links:

   * github blog on svn imports
     <http://github.com/blog/156-subversion-importing>
   * github svn import guide
     <http://github.com/guides/import-from-subversion>
   * launchpad svn import information
     <https://help.launchpad.net/Code/Imports>
   * 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>


Yours

Tim Abell
http://www.timwise.co.uk/
t...@timwise.co.uk <mailto:t...@timwise.co.uk>

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to