add: ignore only ignored files
commit1d31e5a2cd9f90799330d5095783e7b972357f0e
authorMichael J Gruber <git@drmicha.warpmail.net>
Fri, 21 Nov 2014 16:08:19 +0000 (21 17:08 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 21 Nov 2014 18:19:14 +0000 (21 10:19 -0800)
tree4c4818b087c976b037874f9c8db057307aede563
parent7ba2ba7d12163a8f9a9947d7880bd26f2970d4c5
add: ignore only ignored files

"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. This is unexpected.

Change "git add foo bar" to add foo when bar is ignored, but issue
a warning and return a failure code as before the change.

That is, in the case of trying to add ignored files we now act the same
way (with or without "--ignore-errors") in which we act for more
severe indexing errors when "--ignore-errors" is specified.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/add.c
t/t3700-add.sh