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

Re: 1.8.3 - gitignore not being parsed correctly on OS X; regex support is broken?

From
Karsten Blees <karsten.blees@gmail.com>
Date
May 29, 2013, 16:19 UTC
Message-ID
<51A62A96.6040009@gmail.com>
In-Reply-To
<CACsJy8DD=LxAKh_fUELJ5Mj0xS_gZE88N_rJFkKGer=YAOqsMg@mail.gmail.com>
Am 29.05.2013 06:19, schrieb Duy Nguyen:
Show 15 quoted lines
> On Wed, May 29, 2013 at 10:41 AM, Duy Nguyen <pclouds@gmail.com> wrote:
>> The changes in this area since 1.8.2.3 seem to be Karsten's (I'm not
>> blaming, just wanted to narrow down the problem). The patterns of
>> interest seem to be
>>
>> !/bin
>> /bin/*
>> !/bin/brew
>>
>> Without "!/bin" v1.8.3 seems to behave the same as v1.8.2.3.
> 
> Karsten, the block "/* Abort if the directory is excluded */" in
> prep_exclude() seems to cause this. I think it goes through the
> exclude patterns, hits "!/bin", believes the patterns do not make
> sense in this context and throws all away.
Yes, I forgot to check the "!" flag to determine if the directory is really excluded. I'll prepare a patch + test case for this.
@Øystein: in the meantime, could you check if this fixes the problem for you?
--- 8< ---
diff --git a/dir.c b/dir.c
index a5926fb..13858fe 100644
--- a/dir.c
+++ b/dir.c
@@ -821,6 +821,9 @@ static void prep_exclude(struct dir_struct *dir, const char *base, int baselen)
 				dir->basebuf, stk->baselen - 1,
 				dir->basebuf + current, &dt);
 			dir->basebuf[stk->baselen - 1] = '/';
+			if (dir->exclude &&
+			    dir->exclude->flags & EXC_FLAG_NEGATIVE)
+				dir->exclude = NULL;
 			if (dir->exclude) {
 				dir->basebuf[stk->baselen] = 0;
 				dir->exclude_stack = stk;
Previous: David AguilarNext: Øystein Walle
Message 7 of 16 in “1.8.3 - gitignore not being parsed correctly on OS X; regex support is broken?”
  1. Misty De MeoMay 28, 2013
  2. Øystein WalleMay 28, 2013
  3. Junio C HamanoMay 28, 2013
  4. Duy NguyenMay 29, 2013
  5. Duy NguyenMay 29, 2013
  6. David AguilarMay 29, 2013
  7. Karsten BleesMay 29, 2013
  8. Øystein WalleMay 29, 2013
  9. dir.c: fix ignore processing within not-ignored directoriesKarsten Blees, May 29, 2013
  10. Duy NguyenJun 1, 2013
  11. Junio C HamanoJun 2, 2013
  12. Karsten BleesJun 4, 2013
  13. t/README: test_must_fail is for testing GitJunio C Hamano, Jun 4, 2013
  14. Philip OakleyJun 4, 2013
  15. Junio C HamanoJun 4, 2013
  16. Philip OakleyJun 4, 2013

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.