From f9ad77a739c0d012ee58b64eda2d7ec0d4e1df9d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 7 Dec 2009 20:49:38 -0800 Subject: [PATCH] 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 --- git-svn.perl | 2 +- t/t9146-git-svn-empty-dirs.sh | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/git-svn.perl b/git-svn.perl index bdd1f966c3..5a52068b12 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -3891,11 +3891,11 @@ sub delete_entry { } print "\tD\t$gpath/\n" unless $::_q; command_close_pipe($ls, $ctx); - $self->{empty}->{$path} = 0 } else { $self->{gii}->remove($gpath); print "\tD\t$gpath\n" unless $::_q; } + $self->{empty}->{$path} = 0; undef; } diff --git a/t/t9146-git-svn-empty-dirs.sh b/t/t9146-git-svn-empty-dirs.sh index 70c52c1f97..9b8d0463fa 100755 --- a/t/t9146-git-svn-empty-dirs.sh +++ b/t/t9146-git-svn-empty-dirs.sh @@ -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