Merge branch 'ar/diff'
* ar/diff: Add tests for --quiet option of diff programs try-to-simplify-commit: use diff-tree --quiet machinery. revision.c: explain what tree_difference does Teach --quiet to diff backends. diff --quiet Remove unused diffcore_std_no_resolve Allow git-diff exit with codes similar to diff(1)
This commit is contained in:
79
t/t4017-diff-retval.sh
Executable file
79
t/t4017-diff-retval.sh
Executable file
@ -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
|
80
t/t4017-quiet.sh
Executable file
80
t/t4017-quiet.sh
Executable file
@ -0,0 +1,80 @@
|
||||
#!/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 --quiet HEAD^ HEAD >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
test_expect_success 'git diff-tree HEAD^ HEAD -- a' '
|
||||
git diff-tree --quiet HEAD^ HEAD -- a >cnt
|
||||
test $? = 0 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
test_expect_success 'git diff-tree HEAD^ HEAD -- b' '
|
||||
git diff-tree --quiet HEAD^ HEAD -- b >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
# this diff outputs one line: sha1 of the given head
|
||||
test_expect_success 'echo HEAD | git diff-tree --stdin' '
|
||||
echo $(git rev-parse HEAD) | git diff-tree --quiet --stdin >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 1
|
||||
'
|
||||
test_expect_success 'git diff-tree HEAD HEAD' '
|
||||
git diff-tree --quiet HEAD HEAD >cnt
|
||||
test $? = 0 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
test_expect_success 'git diff-files' '
|
||||
git diff-files --quiet >cnt
|
||||
test $? = 0 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
test_expect_success 'git diff-index --cached HEAD' '
|
||||
git diff-index --quiet --cached HEAD >cnt
|
||||
test $? = 0 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
test_expect_success 'git diff-index --cached HEAD^' '
|
||||
git diff-index --quiet --cached HEAD^ >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
test_expect_success 'git diff-index --cached HEAD^' '
|
||||
echo text >>b &&
|
||||
echo 3 >c &&
|
||||
git add . && {
|
||||
git diff-index --quiet --cached HEAD^ >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 0
|
||||
}
|
||||
'
|
||||
test_expect_success 'git diff-tree -Stext HEAD^ HEAD -- b' '
|
||||
git commit -m "text in b" && {
|
||||
git diff-tree --quiet -Stext HEAD^ HEAD -- b >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 0
|
||||
}
|
||||
'
|
||||
test_expect_success 'git diff-tree -Snot-found HEAD^ HEAD -- b' '
|
||||
git diff-tree --quiet -Snot-found HEAD^ HEAD -- b >cnt
|
||||
test $? = 0 && test $(wc -l <cnt) = 0
|
||||
'
|
||||
test_expect_success 'git diff-files' '
|
||||
echo 3 >>c && {
|
||||
git diff-files --quiet >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 0
|
||||
}
|
||||
'
|
||||
test_expect_success 'git diff-index --cached HEAD' '
|
||||
git update-index c && {
|
||||
git diff-index --quiet --cached HEAD >cnt
|
||||
test $? = 1 && test $(wc -l <cnt) = 0
|
||||
}
|
||||
'
|
||||
|
||||
test_done
|
Reference in New Issue
Block a user