threads / rfc / 43430

[RFC] requiring Perl SVN libraries for git-svn

Subject: [RFC] requiring Perl SVN libraries for git-svn

## tl;dr

3 messages between Dec 13, 2006 and Dec 15, 2006.

replies: 2people: 3as markdown or json

Eric Wong· Dec 13, 2006, 20:21 UTC · lore

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· Dec 13, 2006, 21:17 UTC · re: Eric Wong · lore

Re: [RFC] requiring Perl SVN libraries for git-svn

>>>>> "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· Dec 15, 2006, 16:02 UTC · re: Eric Wong · lore

Re: [RFC] requiring Perl SVN libraries for git-svn

Eric Wong <normalperson@yhbt.net> writes:
Show 7 quoted lines
> 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

← back to recent threads