git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Expected behavior of "git check-ignore"...

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 24, 2017, 19:23 UTC
Message-ID
<xmqq4lu1ej0d.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAEBDL5X3wr=4A+W_sQzSE9BazoxoS2bwcOBZV5Jw=WCWZHAi6A@mail.gmail.com>
John Szakmeister <john@szakmeister.net> writes:
Show 6 quoted lines
> Correct, it appears that if any line in the ignore matches, then it
> exits with 0.  So it's not that it's ignored, but that there is a
> matching line in an ignore file somewhere.  I can see the logic in
> this if it's meant to be a debugging tools, especially combined with
> -v.  Simply changing it does affect quite a few tests, but I'm not
> sure that it was intentional for negation to be treated this way.

I am reasonably sure that the command started its life as a pure debugging aid.

The treatment of the negation _might_ impose conflicting goals to its purpose as a debugging aid---a user who debugs his .gitignore file would want to know what causes a thing that wants to be ignored is not or vice versa, and use of the exit status to indicate if it is ignored may not mesh well with its goal as a debugging aid, but I didn't think about the potential issues deeply myself while writing this response. As you mentioned, use of (or not using) "-v" could be used as a sign to see which behaviour the end-user expects, I guess.

Previous: John SzakmeisterNext: John Szakmeister
Message 4 of 7 in “Expected behavior of "git check-ignore"...”
  1. John SzakmeisterJul 20, 2017
  2. Philip OakleyJul 23, 2017
  3. John SzakmeisterJul 24, 2017
  4. Junio C HamanoJul 24, 2017
  5. John SzakmeisterJul 27, 2017
  6. Junio C HamanoJul 27, 2017
  7. Philip OakleyJul 30, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.