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

Re: bug with git add and .gitignore

From
Samuel Lijin <sxlijin@gmail.com>
Date
May 16, 2017, 19:10 UTC
Message-ID
<CAJZjrdUPU8bGji9yCv-8CWN2zaV8WSkvTv+9c3Q5pmnrgyaEXw@mail.gmail.com>
In-Reply-To
<CAGHpTBLGwGXZk=xAB+Pb4GvtqN8+K=8BuaA-zov9sZZat-OYHQ@mail.gmail.com>
On Wed, May 10, 2017 at 9:44 AM, Orgad Shaneh <orgads@gmail.com> wrote:
Show 16 quoted lines
> Hi,
>
> When a not-ignored file inside an ignore directory is added along with
> other files, a false alarm is shown:
>
> git init
> echo /d/ > .gitignore
> mkdir d
> touch d/file foo
> git add -f d/file foo
> git add d/file
> # fine
> git add d/file foo
> # The following paths are ignored by one of your .gitignore files:
> # d
> # Use -f if you really want to add them.

For anyone who wants to take a shot at this, the reason this happens is because when "add d/file foo" is invoked, when add.c:cmd_add() calls fill_directory(), d/ gets added to dir->ignored, so add_files() complains. I'm not sure if that's *supposed* to happen, and the issue is somewhere else, or the call to read_directory_recursive() from fill_directory() doesn't properly respect the pathspec.

> I did not try to add a new file in d. It's the same file that is
> already indexed.
>
> - Orgad
Previous: Orgad Shaneh
Message 2 of 2 in “bug with git add and .gitignore”
  1. Orgad ShanehMay 10, 2017
  2. Samuel LijinMay 16, 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.