summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2007-07-04 14:07:42 -0700
committerJunio C Hamano <gitster@pobox.com>2007-07-04 21:06:07 -0700
commit7730fbe62490f9e6ee33f6136ecd0e75869894e3 (patch)
treeadc4a7b04d59900af7851171f6ea42a3fcaf044f /git-svn.perl
parent32c37c123741bee79617a6830257519c53681704 (diff)
downloadgit-7730fbe62490f9e6ee33f6136ecd0e75869894e3.tar.gz
git-svn: fix blocking with svn:// servers after do_switch
We now explicitly disconnect before starting new SVN::Ra connections. SVN::Ra objects will automatically be disconnected from the server on DESTROY. SVN servers seem to have problems accepting multiple connections from one client, and the SVN library has trouble being connected to multiple servers at once. This appears to cause opening the second connection to block, and cause git-svn to be unusable after using the do_switch() function. git-svn opens another connection because a workaround is necesary for the buggy reparent function handling on certain versions of svn:// and svn+ssh:// servers. Instead of using the reparent function (analogous to chdir), it will reopen a new connection to a different URL on the SVN server. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl1
1 files changed, 1 insertions, 0 deletions
diff --git a/git-svn.perl b/git-svn.perl
index 51979f9639..b3dffccf38 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -3002,6 +3002,7 @@ sub new {
\&Git::SVN::Prompt::username, 2),
]);
my $config = SVN::Core::config_get_config($config_dir);
+ $RA = undef;
my $self = SVN::Ra->new(url => $url, auth => $baton,
config => $config,
pool => SVN::Pool->new,