git svn: log removals of empty directories

This also adds a test case for:
  "git svn: Don't create empty directories whose parents were deleted"
which was the reason we found this bug in the first place.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
Eric Wong 2009-12-07 20:49:38 -08:00
parent 33f2a3108e
commit f9ad77a739
2 changed files with 11 additions and 1 deletions

View File

@ -3891,11 +3891,11 @@ sub delete_entry {
} }
print "\tD\t$gpath/\n" unless $::_q; print "\tD\t$gpath/\n" unless $::_q;
command_close_pipe($ls, $ctx); command_close_pipe($ls, $ctx);
$self->{empty}->{$path} = 0
} else { } else {
$self->{gii}->remove($gpath); $self->{gii}->remove($gpath);
print "\tD\t$gpath\n" unless $::_q; print "\tD\t$gpath\n" unless $::_q;
} }
$self->{empty}->{$path} = 0;
undef; undef;
} }

View File

@ -105,4 +105,14 @@ test_expect_success 'empty directories in trunk exist' '
) )
' '
test_expect_success 'remove a top-level directory from svn' '
svn_cmd rm -m "remove d" "$svnrepo"/d
'
test_expect_success 'removed top-level directory does not exist' '
git svn clone "$svnrepo" removed &&
test ! -e removed/d
'
test_done test_done