Skip to content

Commit

Permalink
git-svn: allow --follow-parent on deleted directories
Browse files Browse the repository at this point in the history
Any operations on the index in Git::SVN that is not wrapped by
tmp_index_do() is wrong.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
  • Loading branch information
Eric Wong committed Feb 23, 2007
1 parent b805b44 commit a2003ab
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -1091,7 +1091,7 @@ sub find_parent_branch {
}
if (defined $r0 && defined $parent && $gs->revisions_eq($r0, $r)) {
print STDERR "Found branch parent: ($self->{ref_id}) $parent\n";
command_noisy('read-tree', $parent);
$self->assert_index_clean($parent);
my $ed;
if ($self->ra->can_do_switch) {
print STDERR "Following parent with do_switch\n";
Expand Down
12 changes: 12 additions & 0 deletions t/t9104-git-svn-follow-parent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,18 @@ test_expect_success 'init and fetch from one svn-remote' "
sed -n -e '3p'\`\" = goodbye
"

test_expect_success 'follow deleted parent' "
svn cp -m 'resurrecting trunk as junk' \
-r2 $svnrepo/trunk $svnrepo/junk &&
git-repo-config --add svn-remote.git-svn.fetch \
junk:refs/remotes/svn/junk &&
git-svn fetch --follow-parent -i svn/thunk &&
git-svn fetch -i svn/junk --follow-parent &&
test -z \"\`git diff svn/junk svn/trunk\`\" &&
test \"\`git merge-base svn/junk svn/trunk\`\" \
= \"\`git rev-parse svn/trunk\`\"
"

test_debug 'gitk --all &'

test_done

0 comments on commit a2003ab

Please sign in to comment.