Subject: [PATCH] Test case for "git diff" outside a git repo

From: Steven Grimm <[email-masked]>
Date: Mon, 23 Jul 2007 06:22:48 -0700

Signed-off-by: Steven Grimm <[email-masked]>
---
	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