Florian Hassanen <florian.hassanen@xxxxxxxxx> writes: > check-ignore disregards whether a path is matched by a > positive or negative pattern. Thus for a file that is _not_ > ignored, but is captured by negative pattern in .gitignore, > the exit code is 0. The docs suggested otherwise. I am not sure that is the actual behaviour of the command. Given this .gitignore file: $ cat .gitignore; echo END !vendor.o *.o END which is designed to allow binary-only blob "vendor.o" supplied by the vendor to be tracked, but to ignore all the other usual build artifacts, you see this: $ for o in a.o vendor.o; do git check-ignore $o >/dev/null; echo $?; done 0 1 Puzzled... > > Clarify docs to explain that only the match matters, not > whether the path is actually ignored or not. > > Signed-off-by: Florian Hassanen <florian.hassanen@xxxxxxxxx> > --- > Today when working with the check-ignore command, I misunderstood > the docs into thinking, that I could use check-ignore's exit code > to determine, whether a file is ignored or not - but this is not > how the exit code works :( > Here is a suggestion, on how to update the docs to describe the > exit code's behavior more clearly. > > Documentation/git-check-ignore.txt | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/Documentation/git-check-ignore.txt b/Documentation/git-check-ignore.txt > index ee2e091..bdd8b7c 100644 > --- a/Documentation/git-check-ignore.txt > +++ b/Documentation/git-check-ignore.txt > @@ -97,10 +97,11 @@ EXIT STATUS > ----------- > > 0:: > - One or more of the provided paths is ignored. > + At least one of the provided paths matches some (possibly negative) > + pattern. > > 1:: > - None of the provided paths are ignored. > + None of the provided paths match any pattern. > > 128:: > A fatal error was encountered. -- 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