summaryrefslogtreecommitdiff
path: root/t/t3701-add-interactive.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2009-10-28 00:52:57 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-10-28 06:19:04 (GMT)
commit24ab81ae4d12c81076da256b3f9cdde45277f126 (patch)
tree840109afbe8820d385bfa23bc79c6cde766a7ad4 /t/t3701-add-interactive.sh
parent78d553b7d7b269bb22ebd8b1198657c37484a3a0 (diff)
downloadgit-24ab81ae4d12c81076da256b3f9cdde45277f126.zip
git-24ab81ae4d12c81076da256b3f9cdde45277f126.tar.gz
git-24ab81ae4d12c81076da256b3f9cdde45277f126.tar.bz2
add-interactive: handle deletion of empty files
Usually we show deletion as a big hunk deleting all of the file's text. However, for files with no content, the diff shows just the 'deleted file mode ...' line. This patch cause "add -p" (and related commands) to recognize that line and explicitly ask about deleting the file. We only add the "stage this deletion" hunk for empty files, since other files will already ask about the big content deletion hunk. We could also change those files to simply display "stage this deletion", but showing the actual deleted content is probably what an interactive user wants. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3701-add-interactive.sh')
-rwxr-xr-xt/t3701-add-interactive.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index 62fd65e..aa5909b 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -214,4 +214,21 @@ test_expect_success 'add first line works' '
test_cmp expected diff
'
+cat >expected <<EOF
+diff --git a/empty b/empty
+deleted file mode 100644
+index e69de29..0000000
+EOF
+
+test_expect_success 'deleting an empty file' '
+ git reset --hard &&
+ > empty &&
+ git add empty &&
+ git commit -m empty &&
+ rm empty &&
+ echo y | git add -p empty &&
+ git diff --cached >diff &&
+ test_cmp expected diff
+'
+
test_done