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

Re: [RFD/PATCH] add: ignore only ignored files

From
Jeff King <peff@peff.net>
Date
Nov 19, 2014, 19:15 UTC
Message-ID
<20141119191502.GC9908@peff.net>
In-Reply-To
<3f78d6c1e35c87049daaac6cb1257ea8310a90bb.1416408015.git.git@drmicha.warpmail.net>
On Wed, Nov 19, 2014 at 03:52:33PM +0100, Michael J Gruber wrote:
Show 14 quoted lines
> "git add foo bar" adds neither foo nor bar when bar is ignored, but dies
> to let the user recheck their command invocation. This becomes less
> helpful when "git add foo.*" is subject to shell expansion and some of
> the expanded files are ignored.
> 
> "git add --ignore-errors" is supposed to ignore errors when indexing
> some files and adds the others. It does ignore errors from actual
> indexing attempts, but does not ignore the error "file is ignored" as
> outlined above.
> 
> Change "git add --ignore-errors foo bar" to add foo when bar is ignored,
> i.e. to ignore the ignore error.
> 
> Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
FWIW, your complaint and this new behavior makes sense to me.

Typically I keep a very neat .gitignore file and just use "git add .", which _does_ ignore those files. The real problem here is that git cannot tell the difference between "the user explicitly asked for foo.aux, so we should complain" and "oops, foo.aux got caught in a shell expansion".

I almost wonder if skipping ignored files should _always_ be a warning, not a hard error. I guess that has unpleasant side effects for scripts which call "git add XXX" and check the exit code, who may be unpleasantly surprised that they missed out on some content.

Perhaps we could do a hybrid: add the files that were not ignored, but then still exit non-zero. Careful scripts need to check the exit status of "git add" anyway, and sloppy humans with over-broad wildcards typically do not care about the exit status.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 22 in “add: ignore only ignored files”
  1. add: ignore only ignored filesMichael J Gruber, Nov 19, 2014
  2. Junio C HamanoNov 19, 2014
  3. Jeff KingNov 19, 2014
  4. Junio C HamanoNov 19, 2014
  5. Michael J GruberNov 20, 2014
  6. Jeff KingNov 20, 2014
  7. Junio C HamanoNov 20, 2014
  8. Jeff KingNov 20, 2014
  9. Michael J GruberNov 21, 2014
  10. [PATCHv2] add: ignore only ignored filesMichael J Gruber, Nov 21, 2014
  11. Jeff KingNov 21, 2014
  12. Torsten BögershausenNov 22, 2014
  13. Jeff KingNov 22, 2014
  14. Torsten BögershausenNov 22, 2014
  15. Jeff KingNov 23, 2014
  16. Junio C HamanoNov 23, 2014
  17. Jeff KingNov 23, 2014
  18. Junio C HamanoNov 24, 2014
  19. Torsten BögershausenNov 24, 2014
  20. Jeff KingNov 25, 2014
  21. Michael J GruberNov 24, 2014
  22. Michael J GruberNov 24, 2014

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.