git-svn: establish new connections on commit after fork
authorEric Wong <normalperson@yhbt.net>
Fri, 25 Aug 2006 19:28:18 +0000 (12:28 -0700)
committerJunio C Hamano <junkio@cox.net>
Sat, 26 Aug 2006 04:26:21 +0000 (21:26 -0700)
SVN seems to have a problem with https:// repositories from
time-to-time when doing multiple, sequential commits. This
problem is not consistently reproducible without the patch,
but it should go away entirely with this patch...

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-svn.perl
index 0d58bb9b37944728baa7d8af17d714f6ee8b4509..b311c3d030caa6ae2888730383cf40e7b549af95 100755 (executable)
@@ -500,6 +500,8 @@ sub commit_lib {
        my @lock = $SVN::Core::VERSION ge '1.2.0' ? (undef, 0) : ();
        my $commit_msg = "$GIT_SVN_DIR/.svn-commit.tmp.$$";
 
+       my $repo;
+       ($repo, $SVN_PATH) = repo_path_split($SVN_URL);
        set_svn_commit_env();
        foreach my $c (@revs) {
                my $log_msg = get_commit_message($c, $commit_msg);
@@ -508,6 +510,8 @@ sub commit_lib {
                # can't track down... (it's probably in the SVN code)
                defined(my $pid = open my $fh, '-|') or croak $!;
                if (!$pid) {
+                       $SVN_LOG = libsvn_connect($repo);
+                       $SVN = libsvn_connect($repo);
                        my $ed = SVN::Git::Editor->new(
                                        {       r => $r_last,
                                                ra => $SVN,