author | Junio C Hamano <gitster@pobox.com> | |
Sat, 28 Mar 2009 07:42:31 +0000 (00:42 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sat, 28 Mar 2009 07:42:31 +0000 (00:42 -0700) |
* jc/maint-1.6.0-diff-borrow-carefully:
diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
1 | 2 | |||
---|---|---|---|---|
diff.c | patch | | diff1 | | diff2 | | blob | history |
t/t4020-diff-external.sh | patch | | diff1 | | diff2 | | blob | history |
diff --cc diff.c
Simple merge
diff --cc t/t4020-diff-external.sh
index f8c99f1a985ba14a4361e9d1e75486d6806c8f77,f853b8a894246f1f9d09c18656e290a2e2f9ce6d..0720001281db6aeb5a3b6bb46cd6914ad7d78d33
+++ b/t/t4020-diff-external.sh
test_expect_success 'force diff with "diff"' '
echo >.gitattributes "file diff" &&
git diff >actual &&
- test_cmp ../t4020/diff.NUL actual
+ test_cmp "$TEST_DIRECTORY"/t4020/diff.NUL actual
+'
+
+test_expect_success 'GIT_EXTERNAL_DIFF with more than one changed files' '
+ echo anotherfile > file2 &&
+ git add file2 &&
+ git commit -m "added 2nd file" &&
+ echo modified >file2 &&
+ GIT_EXTERNAL_DIFF=echo git diff
+'
+
+echo "#!$SHELL_PATH" >fake-diff.sh
+cat >> fake-diff.sh <<\EOF
+cat $2 >> crlfed.txt
+EOF
+chmod a+x fake-diff.sh
+
+keep_only_cr () {
+ tr -dc '\015'
+}
+
+test_expect_success 'external diff with autocrlf = true' '
+ git config core.autocrlf true &&
+ GIT_EXTERNAL_DIFF=./fake-diff.sh git diff &&
+ test $(wc -l < crlfed.txt) = $(cat crlfed.txt | keep_only_cr | wc -c)
'
+ test_expect_success 'diff --cached' '
+ git add file &&
+ git update-index --assume-unchanged file &&
+ echo second >file &&
+ git diff --cached >actual &&
+ test_cmp ../t4020/diff.NUL actual
+ '
+
test_done