Thread (2 messages) 2 messages, 2 authors, 2019-11-27

Re: "git diff --no-index" Implies "--exit-code"

From: Denton Liu <hidden>
Date: 2019-11-27 08:46:05

Hi John,

On Wed, Nov 27, 2019 at 04:03:48AM +0000, John Ferreira wrote:
I suspect this may be a bug:
Because I am not specifying the "--exit-code" flag,  I expect "git diff --no-index" to have the same exit code style as git diff.
But it does not.  
See comment in source linked below.  
Or, if this is intended, this side effect should be noted in the documentation for --no-index.

https://git-scm.com/docs/git-diff
--exit-code
Make the program exit with codes similar to diff(1). That is, it exits with 1 if there were differences and 0 means no differences.

git diff [<options>] --no-index [--] <path> <path>
This form is to compare the given two paths on the filesystem. You can omit the --no-index option when running the command in a working tree controlled by Git and at least one of the paths points outside the working tree, or when running the command outside a working tree controlled by Git.


https://github.com/git/git/blob/83232e38648b51abbcbdb56c94632b6906cc85a6/diff-no-index.c#L307
/*
 * The return code for --no-index imitates diff(1):
 * 0 = no changes, 1 = changes, else error
*/
This is a documentation bug. It's already a known issue and there's a
fix for it already queued up in next[1].

Thanks,

Denton

[1]: https://github.com/gitster/git/commit/0115e5d929d06ad41eff83742a3e6a1e91ecc0c4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help