mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
git-svn: allow --follow-parent on deleted directories
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>
This commit is contained in:
parent
b805b44a92
commit
a2003abc23
@ -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";
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user