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

Re: Git 2.7.0 gitignore behaviour regression

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jan 7, 2016, 23:44 UTC
Message-ID
<20160107234455.GB265296@vauxhall.crustytoothpaste.net>
In-Reply-To
<20160105150602.GA4130@sigill.intra.peff.net>
On Tue, Jan 05, 2016 at 10:06:02AM -0500, Jeff King wrote:
Show 14 quoted lines
> Thanks for giving a clear example. This bisects to Duy's 57534ee (dir.c:
> don't exclude whole dir prematurely if neg pattern may match,
> 2015-09-21). AFAICT (and I don't recall looking over this patch
> previously), what you are seeing is the intended effect of the patch.
> 
> Your final line unignores stuff inside of "a", so we're reporting it (if you gave
> "-uall", you'd see the actual file "a/b"). Older versions of git
> generally optimized out looking inside "a/" at all. This created a
> hassle when people wanted to do things like:
> 
>     a/
>     !a/precious-file
> 
> in their .gitignore.
I think there's still a bug in the code here.  If you do
  git init
  mkdir -p base/a/
  printf 'base/a/\n!base/a/b.txt\n' >.gitignore
  git add .gitignore
  git commit -m 'Add .gitignore'
  >base/a/b.txt
  git add base/a/b.txt
  git commit -m 'Add base/a/b.txt'
  >base/a/c.txt
  git status --porcelain

git status outputs base/a/c.txt as unknown, when it should be ignored. We saw this in a repository at $DAYJOB.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | https://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
Previous: Carlos Martín NietoNext: Duy Nguyen
Message 10 of 13 in “Git 2.7.0 gitignore behaviour regression”
  1. Mike McQuaidJan 5, 2016
  2. Jeff KingJan 5, 2016
  3. Duy NguyenJan 6, 2016
  4. Mike McQuaidJan 6, 2016
  5. Duy NguyenJan 6, 2016
  6. Junio C HamanoJan 6, 2016
  7. Jeff KingJan 7, 2016
  8. Duy NguyenJan 7, 2016
  9. Carlos Martín NietoJan 8, 2016
  10. brian m. carlsonJan 7, 2016
  11. Duy NguyenJan 8, 2016
  12. brian m. carlsonJan 8, 2016
  13. Duy NguyenJan 8, 2016

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.