summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-svn.perl6
-rwxr-xr-xt/t9104-git-svn-follow-parent.sh6
2 files changed, 8 insertions, 4 deletions
diff --git a/git-svn.perl b/git-svn.perl
index dcc7fd4603..4f7938ab7e 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1135,10 +1135,12 @@ sub find_parent_branch {
last if $gs;
}
unless ($gs) {
- my $ref_id = $branch_from;
- $ref_id .= "\@$r" if find_ref($ref_id);
+ my $ref_id = $self->{ref_id};
+ $ref_id =~ s/\@\d+$//;
+ $ref_id .= "\@$r";
# just grow a tail if we're not unique enough :x
$ref_id .= '-' while find_ref($ref_id);
+ print STDERR "Initializing parent: $ref_id\n";
$gs = Git::SVN->init($new_url, '', $ref_id, $ref_id);
}
my ($r0, $parent) = $gs->find_rev_before($r, 1);
diff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh
index 6d243f8488..0f4e736271 100755
--- a/t/t9104-git-svn-follow-parent.sh
+++ b/t/t9104-git-svn-follow-parent.sh
@@ -30,10 +30,12 @@ test_expect_success 'initialize repo' "
test_expect_success 'init and fetch --follow-parent a moved directory' "
git-svn init -i thunk $svnrepo/thunk &&
git-svn fetch --follow-parent -i thunk &&
- test \"\`git-rev-parse --verify refs/remotes/trunk\`\" \
+ test \"\`git-rev-parse --verify refs/remotes/thunk@2\`\" \
= \"\`git-rev-parse --verify refs/remotes/thunk~1\`\" &&
test \"\`git-cat-file blob refs/remotes/thunk:readme |\
- sed -n -e '3p'\`\" = goodbye
+ sed -n -e '3p'\`\" = goodbye &&
+ test -n \"\`git-config --get svn-remote.git-svn.fetch \
+ '^trunk:refs/remotes/thunk@2$'\`\"
"
test_expect_success 'init and fetch from one svn-remote' "