[PATCH] Test case for "git diff" outside a git repo
From: Steven Grimm <hidden>
Date: 2016-06-15 22:43:23
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Steven Grimm <redacted> --- git-diff --quiet is pretty broken right now. If you do "strace git diff --quiet file1 file2" you will see that it never calls open() on either file! And it always returns a zero exit code whether or not the files are different. I'm trying to follow the code to figure out what's going on, but meanwhile, here's a test case. Perhaps someone more familiar with the diff code will beat me to a fix. t/t4021-diff-norepo.sh | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) create mode 100755 t/t4021-diff-norepo.sh
diff --git a/t/t4021-diff-norepo.sh b/t/t4021-diff-norepo.sh
new file mode 100755
index 0000000..dfee3d7
--- /dev/null
+++ b/t/t4021-diff-norepo.sh@@ -0,0 +1,26 @@ +#!/bin/sh + +test_description='test git diff outside a repo' + +. ./test-lib.sh + +rm -rf .git + +test_expect_success setup ' + + echo content1 >file1a && + echo content1 >file1b && + echo content2 >file2 +' + +test_expect_success 'zero return value with --quiet for different files' ' + + git diff --quiet file1a file2 +' + +test_expect_success 'nonzero return value with --quiet for identical files' ' + + ! git diff --quiet file1a file1b >/dev/null +' + +test_done
--
1.5.3.rc2.4.g726f9