git svn clone fails on Mac OS X: “Temp file with m

2020-07-02 20:03发布

问题:

I've installed git-core (+svn) on my Mac from MacPorts. This has given me:

git-core @1.7.12.2_0+credential_osxkeychain+doc+pcre+python27+svn
subversion @1.7.6_2 

I'm attempting to call something like the following:

git svn clone http://my.svn.com/svn/area/subarea/project -s

The output looks something like this:

Initialized empty Git repository in /Users/bitwise/work/svn/project/.git/
Using higher level of URL: http://my.svn.com/svn/area/subarea/project => http://my.svn.com/svn/area
A   folder/file.txt
    A       folder/file2.txt
   [... some number of files from svn ... ]
    A       folder44/file0.txt
Temp file with moniker 'svn_delta' already in use at /opt/local/lib/perl5/site_perl/5.12.4/Git.pm line 1024.

I've done the usual searches but most of the threads seem to trail off without proposing a clear fix.

回答1:

Add this setting to your ~/.subversion/servers file:

[global]
http-bulk-updates=on

I had this issue on Linux, and saw the above workaround on this thread. I think I ran into this because I forced Alien SVN to build with subversion 1.8 which uses the serf library now instead of neon for https, and apparently git-svn doesn't play nicely with serf.



回答2:

Note that git 1.8.5rc3 (release November 20st, 2013, announced here) now includes:

  • "git-svn" has been taught to use the serf library, which is the only option SVN 1.8.0 offers us when talking the HTTP protocol (no more neon).

  • "git-svn" talking over an https:// connection using the serf library dumped core due to a bug in the serf library that SVN uses.
    Work around it on our side, even though the SVN side is being fixed.

So a general upgrade to latest Git (1.8.5 should be out next week) and latest SVN 1.8 can help make things run smoothly.



回答3:

http://bugs.debian.org/534763 suggests it is a bug in libsvn-perl package, try upgrading that