Subject: Re: GSoC intro

From: Andrew Sayers <[email-masked]>
Date: Mon, 19 Mar 2012 21:31:34 +0000

Hi Florian,

I've become interested in Git<->SVN issues lately, so I'll tell you what
I know.  Hopefully more knowledgeable people will correct me if I'm wrong.

The main thrust of SVN development is done in the "svn-fe" project.  You
can see the work so far in the "vcs-svn"[1] and "contrib/svn-fe"[2]
subdirectories of the main git repo.  My experience as a user has been
that it does a great job of the things it does, but so far it only does
a subset of the things I want.  For example, it can't write to SVN and I
think I'm right in saying it can't yet update from SVN after the initial
download.  David Barr is the main contact for svn-fe - he's an
experienced mentor and will be able to tell you all about the juicy
low-hanging fruit.

One limitation of svn-fe is that it downloads the whole SVN repository
into a single git branch, without separating out trunk, branches and
tags.  I've been working on this problem over the past few months, and
have split it into three parts (a language to describe which directories
are branches etc., export from SVN to that language, and import from
that language to git).  I'd be very flattered if you wanted to work on
this, but I couldn't honestly recommend it over svn-fe.  The language
itself is a one man job that doesn't have much creative work left; SVN
export is all about exposing yourself to weird little abuses of version
control that don't teach you much beyond bad habits; and while git
import would be a fun little project, I don't know enough about git's C
implementation to provide any useful mentoring.

Good luck with the summer, and as an svn-fe user I hope you're very
productive :)

	- Andrew

[1] https://github.com/git/git/tree/master/vcs-svn
[2] https://github.com/git/git/tree/master/contrib/svn-fe