diff: add test for --no-index executed outside repo
authorThomas Gummerer <t.gummerer@gmail.com>
Mon, 16 Dec 2013 20:19:23 +0000 (21:19 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Dec 2013 21:12:33 +0000 (13:12 -0800)
470faf9 diff: move no-index detection to builtin/diff.c breaks the error
message for "git diff --no-index", when the command is executed outside
of a git repository and the wrong number of arguments are given. 6df5762
diff: don't read index when --no-index is given fixes the problem.

Add a test to guard against similar breakages in the future.

Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4053-diff-no-index.sh
index 077c775e778d8527ff7cdbfc47792c0083ddf526..2ab3c487340569d7f2f8164776907ef30df2d415 100755 (executable)
@@ -44,4 +44,15 @@ test_expect_success 'git diff outside repo with broken index' '
        )
 '
 
+test_expect_success 'git diff --no-index executed outside repo gives correct error message' '
+       (
+               GIT_CEILING_DIRECTORIES=$TRASH_DIRECTORY/non &&
+               export GIT_CEILING_DIRECTORIES &&
+               cd non/git &&
+               test_must_fail git diff --no-index a 2>actual.err &&
+               echo "usage: git diff --no-index <path> <path>" >expect.err &&
+               test_cmp expect.err actual.err
+       )
+'
+
 test_done