From: Jeff King Date: Thu, 4 Apr 2013 19:03:58 +0000 (-0400) Subject: t3600: test behavior of reverse-d/f conflict X-Git-Tag: v1.8.3-rc0~89^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=96ec8ee92aad52b6556e87d0166a7b9c4cd7c324;p=thirdparty%2Fgit.git t3600: test behavior of reverse-d/f conflict The previous commit taught "rm" that it is safe to consider "d/f" removed when "d" has become a non-directory. This patch adds a test for the opposite: a file "d" that becomes a directory. In this case, "git rm" does need to complain, because we should not be removing arbitrary content under "d". Git already behaves correctly, but let's make sure that remains the case by protecting the behavior with a test. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh index 73772b2790..a2e1a03965 100755 --- a/t/t3600-rm.sh +++ b/t/t3600-rm.sh @@ -647,4 +647,16 @@ test_expect_success SYMLINKS 'rm of d/f when d has become a dangling symlink' ' test_path_is_missing d ' +test_expect_success 'rm of file when it has become a directory' ' + rm -rf d && + >d && + git add d && + rm -f d && + mkdir d && + >d/f && + test_must_fail git rm d && + git rev-parse --verify :d && + test_path_is_file d/f +' + test_done