# [GSoC update] git-remote-svn: Week 11

7 messages from 2010-07-12 to 2010-07-14. Participants: Ramkumar Ramachandra, Michael J Gruber, Stefan Sperling, Will Palmer.
Thread: https://gitlist.dev/t/24373

## Ramkumar Ramachandra, 2010-07-12 14:35

Subject: [GSoC update] git-remote-svn: Week 11
Message-ID: <20100712143546.GA17630@debian>
URL: https://gitlist.dev/e/20100712143546.GA17630%40debian

```
Hi,

I'm happy to report that I'll soon be getting partial committer access
to the ASF repository (thanks to Greg for this) and will be able to
commit the svnrdump there. At the moment, all the validations pass
without any issues and I've shifted my focus towards writing a
dumpfile v3 parser [1] to get the data into David's exporter. I will
re-roll a series for git.git in some time again after I've fixed a few
pending things pointed out by Jonathan in his excellent reviews and
merged a few patches from Will; although this isn't top priority, it
will be pretty painful for Git developers to compile the SVN trunk
even if they want to try out git-remote-svn.

Currently, I'm implementing svndiff0 parser component of the dumpfile
v3 parser using Sam's Perl implementation [2] as a guideline. In
addition, with an excellent specification present in the Subversion
trunk [3], this shouldn't be a problem.

-- Ram

[1]: dumpfilev3 branch of
http://github.com/artagnon/svn-dump-fast-export/
[2]: http://search.cpan.org/~samv/Parse-SVNDiff/
[3]: http://svn.apache.org/repos/asf/subversion/trunk/notes/svndiff

```

## Michael J Gruber, 2010-07-12 14:48

Subject: Re: [GSoC update] git-remote-svn: Week 11
Message-ID: <4C3B2B48.4070408@drmicha.warpmail.net>
URL: https://gitlist.dev/e/4C3B2B48.4070408%40drmicha.warpmail.net
In-Reply-To: <20100712143546.GA17630@debian>

```
Ramkumar Ramachandra venit, vidit, dixit 12.07.2010 16:35:
> Hi,
> 
> I'm happy to report that I'll soon be getting partial committer access
> to the ASF repository (thanks to Greg for this) and will be able to
> commit the svnrdump there. At the moment, all the validations pass
> without any issues and I've shifted my focus towards writing a
> dumpfile v3 parser [1] to get the data into David's exporter. I will
> re-roll a series for git.git in some time again after I've fixed a few
> pending things pointed out by Jonathan in his excellent reviews and
> merged a few patches from Will; although this isn't top priority, it
> will be pretty painful for Git developers to compile the SVN trunk
> even if they want to try out git-remote-svn.

While this is certainly true for the "compilation" part, at least
getting the source is a snap for us:

git://git.apache.org/subversion.git
git://github.com/apache/subversion.git

:)

Michael

```

## Stefan Sperling, 2010-07-12 15:24

Subject: Re: [GSoC update] git-remote-svn: Week 11
Message-ID: <20100712152403.GH1931@jack.stsp.name>
URL: https://gitlist.dev/e/20100712152403.GH1931%40jack.stsp.name
In-Reply-To: <4C3B2B48.4070408@drmicha.warpmail.net>

```
On Mon, Jul 12, 2010 at 04:48:40PM +0200, Michael J Gruber wrote:
> Ramkumar Ramachandra venit, vidit, dixit 12.07.2010 16:35:
> > it will be pretty painful for Git developers to compile the SVN trunk
> 
> While this is certainly true for the "compilation" part, at least
> getting the source is a snap for us:
> 
> git://git.apache.org/subversion.git
> git://github.com/apache/subversion.git

Regarding compilation, take a look at tools/dev/unix-build/Makefile.svn
in the Subversion tree. Possibly the most painful thing for git devs is
that you'll need an svn binary somewhere in PATH, but any version will do.
Then create an empty directory (say, ~/svn), copy the Makefile in there,
and run make (requires GNU make). That will download and compile Subversion
from trunk, including various dependencies.
If all goes well, binaries (with debug symbols) end up in ~/svn/prefix/

On Linux, -devel packages for a couple of libaries may be needed
(most likely openssl, zlib, expat, libproxy).

Stefan

```

## Will Palmer, 2010-07-12 15:39

Subject: Re: [GSoC update] git-remote-svn: Week 11
Message-ID: <1278949191.1611.5.camel@wpalmer.simply-domain>
URL: https://gitlist.dev/e/1278949191.1611.5.camel%40wpalmer.simply-domain
In-Reply-To: <20100712152403.GH1931@jack.stsp.name>

```
On Mon, 2010-07-12 at 17:24 +0200, Stefan Sperling wrote:
> On Mon, Jul 12, 2010 at 04:48:40PM +0200, Michael J Gruber wrote:
> > Ramkumar Ramachandra venit, vidit, dixit 12.07.2010 16:35:
> > > it will be pretty painful for Git developers to compile the SVN trunk
> > 
> > While this is certainly true for the "compilation" part, at least
> > getting the source is a snap for us:
> > 
> > git://git.apache.org/subversion.git
> > git://github.com/apache/subversion.git
> 
> Regarding compilation, take a look at tools/dev/unix-build/Makefile.svn
> in the Subversion tree. Possibly the most painful thing for git devs is
> that you'll need an svn binary somewhere in PATH, but any version will do.
> Then create an empty directory (say, ~/svn), copy the Makefile in there,
> and run make (requires GNU make). That will download and compile Subversion
> from trunk, including various dependencies.
> If all goes well, binaries (with debug symbols) end up in ~/svn/prefix/
> 
> On Linux, -devel packages for a couple of libaries may be needed
> (most likely openssl, zlib, expat, libproxy).
> 
> Stefan

This is all moot, because the whole point is that svndumpr compiles
against libsvn, so you don't need the whole svn source-tree. All you
need to get svndumpr working are some header files and a working libsvn.
Everyone who currently uses git-svn already has a working libsvn, since
perl's svn bindings wrap around libsvn anyway.

```

## Michael J Gruber, 2010-07-12 16:00

Subject: Re: [GSoC update] git-remote-svn: Week 11
Message-ID: <4C3B3C14.8040002@drmicha.warpmail.net>
URL: https://gitlist.dev/e/4C3B3C14.8040002%40drmicha.warpmail.net
In-Reply-To: <20100712152403.GH1931@jack.stsp.name>

```
Stefan Sperling venit, vidit, dixit 12.07.2010 17:24:
> On Mon, Jul 12, 2010 at 04:48:40PM +0200, Michael J Gruber wrote:
>> Ramkumar Ramachandra venit, vidit, dixit 12.07.2010 16:35:
>>> it will be pretty painful for Git developers to compile the SVN trunk
>>
>> While this is certainly true for the "compilation" part, at least
>> getting the source is a snap for us:
>>
>> git://git.apache.org/subversion.git
>> git://github.com/apache/subversion.git
> 
> Regarding compilation, take a look at tools/dev/unix-build/Makefile.svn
> in the Subversion tree. Possibly the most painful thing for git devs is
> that you'll need an svn binary somewhere in PATH, but any version will do.
> Then create an empty directory (say, ~/svn), copy the Makefile in there,
> and run make (requires GNU make). That will download and compile Subversion
> from trunk, including various dependencies.
> If all goes well, binaries (with debug symbols) end up in ~/svn/prefix/
> 
> On Linux, -devel packages for a couple of libaries may be needed
> (most likely openssl, zlib, expat, libproxy).
> 
> Stefan

That Makefile pulls in (and compiles) a lot of stuff which may or may
not be what you want.

In terms of Git development, I prefer a Git checkout (rather than a svn
checkout) of the subversion code where I can bisect happily. Fulfilling
most dependencies using devel packages was not a real problem (Fedora
13), just an iterative process...

The most painful part is that older svns (e.g. 1.4.6) don't seem to like
newer autoconf (2.65) so that compatibility testing gets difficult,
especially because (due to the branch structure of the code) merge bases
of, say, 1.5.0 and trunk go quite a way back (1.5.0~955).

Michael

```

## Ramkumar Ramachandra, 2010-07-12 18:12

Subject: Re: [GSoC update] git-remote-svn: Week 11
Message-ID: <20100712181233.GC17630@debian>
URL: https://gitlist.dev/e/20100712181233.GC17630%40debian
In-Reply-To: <1278949191.1611.5.camel@wpalmer.simply-domain>

```
Hi,

Will Palmer writes:
> This is all moot, because the whole point is that svndumpr compiles
> against libsvn, so you don't need the whole svn source-tree. All you
> need to get svndumpr working are some header files and a working libsvn.
> Everyone who currently uses git-svn already has a working libsvn, since
> perl's svn bindings wrap around libsvn anyway.

Yes, I meant that people will need the complete Subversion tree if I
DON'T get svnrdump merged somewhere in git.git (I'll attempt to get
the version that compiles against libsvn 1.6 merged). The instructions
to checkout the right branches and place it in the git tree can be
complicated: git-remote-svn relies on a chain of tools including
David's exporter and svnrdump to work.

-- Ram

```

## Stefan Sperling, 2010-07-14 08:58

Subject: Re: [GSoC update] git-remote-svn: Week 11
Message-ID: <20100714085822.GC25630@jack.stsp.name>
URL: https://gitlist.dev/e/20100714085822.GC25630%40jack.stsp.name
In-Reply-To: <1278949191.1611.5.camel@wpalmer.simply-domain>

```
On Mon, Jul 12, 2010 at 04:39:51PM +0100, Will Palmer wrote:
> On Mon, 2010-07-12 at 17:24 +0200, Stefan Sperling wrote:
> > Regarding compilation, take a look at tools/dev/unix-build/Makefile.svn
> This is all moot, because the whole point is that svndumpr compiles
> against libsvn, so you don't need the whole svn source-tree.

It's not moot. svndumpr may now or in the future be using API calls which
are specific to the Subversion 1.7 libraries, in which case you'll need
to compile Subversion from trunk to get compatible libraries until
1.7 is released. Maybe Ramkumar wants to maintain a 1.6.x-specific
version you can use, but that won't be living in our repository anyway.

Stefan

```
