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.gumme...@gmail.com>
>> Thanks, I've missed that one. It only happens when run outside a git
>> repository, but the same comments still apply. Will fix and send a
> Please don't, as the last round has already been pushed on 'next'.
Sorry about that, should have checked first.
> An incremental change on top would also illustrate more clearly what
> breakage needed to be fixed, which would be another good thing. It
> could even come with a new test that makes sure that the above
> command line is diagnosed correctly as a mistake ;-).
The breakage is actually fixed with the second patch as described in
the commit message above, so here is just a test against future
breakages. This test only works when the test root is outside of a
git repository, as otherwise nongit will not be set. Is there another
way to write it?
t/t4053-diff-no-index.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/t/t4053-diff-no-index.sh b/t/t4053-diff-no-index.sh
index 077c775..eb4f380 100755
@@ -44,4 +44,11 @@ test_expect_success 'git diff outside repo with broken
+test_expect_success 'git diff --no-index executed outside repo gives correct
error message' '
+ rm -rf .git &&
+ test_must_fail git diff --no-index a b b 2>actual.err &&
+ echo "usage: git diff --no-index <path> <path>" >expect.err &&
+ test_cmp expect.err actual.err
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html