# [RFC] requiring Perl SVN libraries for git-svn

3 messages from 2006-12-13 to 2006-12-15. Participants: Eric Wong, Seth Falcon, Randal L. Schwartz.
Thread: https://gitlist.dev/t/43430

## Eric Wong, 2006-12-13 20:21

Subject: [RFC] requiring Perl SVN libraries for git-svn
Message-ID: <20061213202142.GE8179@localdomain>
URL: https://gitlist.dev/e/20061213202142.GE8179%40localdomain

```
Are there any git-svn users out there who would be seriously hurt if I
dropped support for using the svn command-line client in git-svn?

The API of the SVN:: libraries seem to be relatively stable these days
and are *much* faster than the command-line client.  I plan on
maintaining compatibility with version 1.1 of the SVN libraries for at
least another year; or more if it's not a big problem.

Lately, I've introduced support for authentication and connecting to
repositories with limited read permissions, as well as reading from the
config files in ~/.subversion; so everything that could be done with
the command-line client backend can be done with the libraries, too.

-- 

```

## Randal L. Schwartz, 2006-12-13 21:17

Subject: Re: [RFC] requiring Perl SVN libraries for git-svn
Message-ID: <86slfj1ooe.fsf@blue.stonehenge.com>
URL: https://gitlist.dev/e/86slfj1ooe.fsf%40blue.stonehenge.com
In-Reply-To: <20061213202142.GE8179@localdomain>

```
>>>>> "Eric" == Eric Wong <normalperson@yhbt.net> writes:

Eric> The API of the SVN:: libraries seem to be relatively stable these days
Eric> and are *much* faster than the command-line client.  I plan on
Eric> maintaining compatibility with version 1.1 of the SVN libraries for at
Eric> least another year; or more if it's not a big problem.

For a while, I would have been upset.  I was building SVN from fink, even
though I was using a private Perl as /usr/local/bin/perl.  And since the Perl
bindings have to be built when the SVN package is built, it was being built
against the core Perl, which I didn't use, so I couldn't use the SVN bindings.

Now, I'm building SVN from darwinports, which builds its own Perl, and I have
~/bin/git-svn wrap the /opt/git/bin/git-svn passing it the /opt/local/bin/perl
instead of the first Perl in the path.  And it all just works.  I suppose
I could have done that before too. :)

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.

```

## Seth Falcon, 2006-12-15 16:02

Subject: Re: [RFC] requiring Perl SVN libraries for git-svn
Message-ID: <m2vekddu5d.fsf@ziti.local>
URL: https://gitlist.dev/e/m2vekddu5d.fsf%40ziti.local
In-Reply-To: <20061213202142.GE8179@localdomain>

```
Eric Wong <normalperson@yhbt.net> writes:
> Are there any git-svn users out there who would be seriously hurt if I
> dropped support for using the svn command-line client in git-svn?
>
> The API of the SVN:: libraries seem to be relatively stable these days
> and are *much* faster than the command-line client.  I plan on
> maintaining compatibility with version 1.1 of the SVN libraries for at
> least another year; or more if it's not a big problem.

I've been using the SVN:: libraries and agree that that they work well
(and faster).  One downside I see is that the svn command-line stuff
will Just Work for a lot of folks, whereas obtaining or building svn's
Perl bindings can be more of a chore [*1*].

OTOH, using git-svn via the svn CLI is slow and much less fun than
with SVN::.  So I can also see an additional argument to drop so that
people's first impression of git-svn won't be, "gaah, slow" -- because
with the SVN:: libs, my experience has been, "yaah, much faster!" :-)

My $0.02.

+ seth


[*1*] I asked our sysadmin to install the Perl libraries on one of our
new servers and although they seem to be installed, they are
non-functional.  git-svn stiffles the error messages, but a simple
script that just tries to require SVN::Core gives:

    Can't load
    '/usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/SVN/_Core/_Core.so'
    for module SVN::_Core:
    /usr/local/src/subversion-1.4.2/subversion/libsvn_ra_dav/.libs/libsvn_ra_dav-1.so.0:
    undefined symbol: PKCS12_SAFEBAG_free at
    /usr/lib/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.

Anyone else seen this?  I guess that if you drop the svn command-line
support, that it would then make sense to error out with more complete

```
