--exit-code (and --quiet) broken in git-diff?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The git-diff man page documents an "--exit-code" option, as well as a
"--quiet" option which automatically implies the former.

In my tests on Mac OS X and Bash 3, however, "git diff" always return an
exit code of 0, never of 1, regardless of how I use the "--quiet" and
"--exit-code" options. I see that there are tests in t/t4017-quiet.sh for
the lower-level git-diff-files, git-diff-index, git-diff-tree commands,
but none for the porcelain git-diff.

Is this a bug with a missing test case? Or am I using this incorrectly? In
the example below I'm looking for differences between the working tree and
the last commit, so I'm using "git diff HEAD", but as you can see, the
exit code is always 0 for "git diff" and "git diff --cached" as well:

$ git --version
git version 1.5.2.4
$ mkdir example
$ cd example
$ git init
Initialized empty Git repository in .git/
$ echo "start" > foo
$ git add foo
$ git commit -m "Add foo"
Created initial commit 85954f6: Add foo
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 foo
$ git diff --quiet HEAD; echo $?
0
$ echo "more" >> foo
$ git diff --quiet HEAD; echo $?
0
$ git add foo
$ git diff --quiet HEAD; echo $?
0
$ git diff --quiet; echo $?
0
$ git diff --exit-code; echo $?
0
$ git diff --cached --quiet; echo $?
0

Cheers,
Wincent



-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux