diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-12-03 22:44:26 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-12-03 22:44:26 -0800 |
commit | 123ed6590836405acb4a0c38e2e4c1b06b4e49a9 (patch) | |
tree | 77c2d860a6df109f618064733e9340a4ef5af1f3 | |
parent | ad685681c22c921e3b1c8ec9504289b5cd8e699b (diff) | |
parent | a0fbc87cff6ae80c5b5be84201bc53252533b1fb (diff) | |
download | git-123ed6590836405acb4a0c38e2e4c1b06b4e49a9.tar.gz git-123ed6590836405acb4a0c38e2e4c1b06b4e49a9.tar.xz |
Merge branch 'dm/svn-remote'
* dm/svn-remote:
git-svn: Make branch use correct svn-remote
-rwxr-xr-x | git-svn.perl | 2 | ||||
-rwxr-xr-x | t/t9128-git-svn-cmd-branch.sh | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/git-svn.perl b/git-svn.perl index 914c707a9..e64e97b4d 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -558,7 +558,7 @@ sub cmd_branch { my ($src, $rev, undef, $gs) = working_head_info($head); - my $remote = Git::SVN::read_all_remotes()->{svn}; + my $remote = Git::SVN::read_all_remotes()->{$gs->{repo_id}}; my $glob = $remote->{ $_tag ? 'tags' : 'branches' }; my ($lft, $rgt) = @{ $glob->{path} }{qw/left right/}; my $dst = join '/', $remote->{url}, $lft, $branch_name, ($rgt || ()); diff --git a/t/t9128-git-svn-cmd-branch.sh b/t/t9128-git-svn-cmd-branch.sh index 47c4d4d93..252daa7e1 100755 --- a/t/t9128-git-svn-cmd-branch.sh +++ b/t/t9128-git-svn-cmd-branch.sh @@ -56,4 +56,23 @@ test_expect_success 'git svn branch tests' ' test_must_fail git svn tag tag1 ' +test_expect_success 'branch uses correct svn-remote' ' + (svn co "$svnrepo" svn && + cd svn && + mkdir mirror && + svn add mirror && + svn copy trunk mirror/ && + svn copy tags mirror/ && + svn copy branches mirror/ && + svn ci -m "made mirror" ) && + rm -rf svn && + git svn init -s -R mirror --prefix=mirror/ "$svnrepo"/mirror && + git svn fetch -R mirror && + git checkout mirror/trunk && + base=$(git rev-parse HEAD:) && + git svn branch -m "branch in mirror" d && + test $base = $(git rev-parse remotes/mirror/d:) && + test_must_fail git rev-parse remotes/d +' + test_done |