git svn: branch/tag commands detect username in URLs
authorEric Wong <normalperson@yhbt.net>
Wed, 23 Dec 2009 06:40:18 +0000 (22:40 -0800)
committerEric Wong <normalperson@yhbt.net>
Wed, 23 Dec 2009 19:58:05 +0000 (11:58 -0800)
svn+ssh:// repositories often have userinfo embedded in the URL
which were stripped out of the "git-svn-id:" trailers.  Since
the SVN::Client::copy function takes userinfo into account when
matching URLs for SVN repositories, we need to retrieve the full
URL with embedded userinfo in it to avoid mismatched URLs.

Tested-by: Florian Köberle <florian@fkoeberle.de>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl

index dba0d12b00797acc213f90f13f677a68ae7dfb5f..650c9e5f02ead07351629d6572e82c3a9ac7ef92 100755 (executable)
@@ -663,7 +663,8 @@ sub cmd_branch {
        }
        $head ||= 'HEAD';
 
-       my ($src, $rev, undef, $gs) = working_head_info($head);
+       my (undef, $rev, undef, $gs) = working_head_info($head);
+       my $src = $gs->full_url;
 
        my $remote = Git::SVN::read_all_remotes()->{$gs->{repo_id}};
        my $allglobs = $remote->{ $_tag ? 'tags' : 'branches' };