Re: [RFD/PATCH] add: ignore only ignored files
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 20, 2014, 17:23 UTC
- Message-ID
- <xmqqegsx4whi.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20141120155621.GA30273@peff.net>
Jeff King <peff@peff.net> writes:
Show 35 quoted lines
> On Thu, Nov 20, 2014 at 10:42:16AM +0100, Michael J Gruber wrote:
>
>> >> 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.
>> >
>> > ;-)
>> >
>>
>> You can simply say "Michael" in your last subclause above :)
>>
>> I'm wondering whether that behaviour change (without --ignore-errors) is
>> OK - I don't mind, but hey, I usually don't.
>
> I can't think of a case that it really hurts, but then I have not
> thought too hard on it. If you want to play with it, I think the patch
> is as simple as:
>
> diff --git a/builtin/add.c b/builtin/add.c
> index ae6d3e2..1074e32 100644
> --- a/builtin/add.c
> +++ b/builtin/add.c
> @@ -284,7 +284,7 @@ static int add_files(struct dir_struct *dir, int flags)
> for (i = 0; i < dir->ignored_nr; i++)
> fprintf(stderr, "%s\n", dir->ignored[i]->name);
> fprintf(stderr, _("Use -f if you really want to add them.\n"));
> - die(_("no files added"));
> + exit_status = 1;
> }
>
> for (i = 0; i < dir->nr; i++)
>
> It needs a tweak to t3700.35, which expects the "fatal:" line on stderr.
> But other than that, it passes all tests. So it must be good, right? :);-)
It indeed is a behaviour change, but I do not expect it would be too heavy a change to require us a transition period or major version bump. But because that is just my expectation, which is not what real world users would expect, so I'd prefer to cook such a change for at least a cycle and a half in 'next'.