Browse Source
This introduces a new command-line option: --exit-code. The diff programs will return 1 for differences, return 0 for equality, and something else for errors. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>maint
Alex Riesen
18 years ago
committed by
Junio C Hamano
9 changed files with 118 additions and 14 deletions
@ -0,0 +1,79 @@
@@ -0,0 +1,79 @@
|
||||
#!/bin/sh |
||||
|
||||
test_description='Return value of diffs' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success 'setup' ' |
||||
echo 1 >a && |
||||
git add . && |
||||
git commit -m first && |
||||
echo 2 >b && |
||||
git add . && |
||||
git commit -a -m second |
||||
' |
||||
|
||||
test_expect_success 'git diff-tree HEAD^ HEAD' ' |
||||
git diff-tree --exit-code HEAD^ HEAD |
||||
test $? = 1 |
||||
' |
||||
test_expect_success 'git diff-tree HEAD^ HEAD -- a' ' |
||||
git diff-tree --exit-code HEAD^ HEAD -- a |
||||
test $? = 0 |
||||
' |
||||
test_expect_success 'git diff-tree HEAD^ HEAD -- b' ' |
||||
git diff-tree --exit-code HEAD^ HEAD -- b |
||||
test $? = 1 |
||||
' |
||||
test_expect_success 'echo HEAD | git diff-tree --stdin' ' |
||||
echo $(git rev-parse HEAD) | git diff-tree --exit-code --stdin |
||||
test $? = 1 |
||||
' |
||||
test_expect_success 'git diff-tree HEAD HEAD' ' |
||||
git diff-tree --exit-code HEAD HEAD |
||||
test $? = 0 |
||||
' |
||||
test_expect_success 'git diff-files' ' |
||||
git diff-files --exit-code |
||||
test $? = 0 |
||||
' |
||||
test_expect_success 'git diff-index --cached HEAD' ' |
||||
git diff-index --exit-code --cached HEAD |
||||
test $? = 0 |
||||
' |
||||
test_expect_success 'git diff-index --cached HEAD^' ' |
||||
git diff-index --exit-code --cached HEAD^ |
||||
test $? = 1 |
||||
' |
||||
test_expect_success 'git diff-index --cached HEAD^' ' |
||||
echo text >>b && |
||||
echo 3 >c && |
||||
git add . && { |
||||
git diff-index --exit-code --cached HEAD^ |
||||
test $? = 1 |
||||
} |
||||
' |
||||
test_expect_success 'git diff-tree -Stext HEAD^ HEAD -- b' ' |
||||
git commit -m "text in b" && { |
||||
git diff-tree -p --exit-code -Stext HEAD^ HEAD -- b |
||||
test $? = 1 |
||||
} |
||||
' |
||||
test_expect_success 'git diff-tree -Snot-found HEAD^ HEAD -- b' ' |
||||
git diff-tree -p --exit-code -Snot-found HEAD^ HEAD -- b |
||||
test $? = 0 |
||||
' |
||||
test_expect_success 'git diff-files' ' |
||||
echo 3 >>c && { |
||||
git diff-files --exit-code |
||||
test $? = 1 |
||||
} |
||||
' |
||||
test_expect_success 'git diff-index --cached HEAD' ' |
||||
git update-index c && { |
||||
git diff-index --exit-code --cached HEAD |
||||
test $? = 1 |
||||
} |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue