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