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

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

 



Wincent Colaiuta schrieb:
> 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

git diff passes the output through your pager by default, so you see the
exit code of that instead of diff's.  Set PAGER=cat or redirect the
output to /dev/null to get rid of it.

A test case for diff would be nice regardless, though. :)

René
-
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