From: Junio C Hamano <gitster@pobox.com>
To: "Rahn, René" <Rene.Rahn@pfizer.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: git-add ignores exclude markers for ignored files
Date: Tue, 20 Jan 2026 12:46:18 -0800 [thread overview]
Message-ID: <xmqqwm1cxbad.fsf@gitster.g> (raw)
In-Reply-To: <xmqqtsz9o3cn.fsf@gitster.g> (Junio C. Hamano's message of "Tue, 04 Nov 2025 14:11:20 -0800")
Junio C Hamano <gitster@pobox.com> writes:
> "Rahn, René" <Rene.Rahn@pfizer.com> writes:
>
>> Steps to reproduce:
>>
>> mkdir git-add-test
>> cd git-add-test
>> git init
>> touch .gitignore
>> echo “ignored.txt” >>.gitignore
>> touch ignored.txt
>> git add --“:(exclude)ignored.txt”
>>
>> Expected behavior:
>>
>> The git add command recognizes that the file ignored.txt is
>> already excluded despite of it being ignored by some gitignore and
>> thus does not check if it is ignored or not. It simply will not be
>> added. Note forcing git-add will do the trick, but this could
>> also have side effects for some files that are ignored but not
>> present in the list of excluded files. Hence, this can’t be the
>> right solution.
>
> It is not quite clear what you want to see. The command would not
> add ignored.text even if you give ":(exclude)ignored.txt" from the
> command line, would it?
>
> This may be an ancient regression when e1b8c7bd (dir: remove struct
> path_simplify, 2017-01-04) was rewritten exclude_matches_pathspec()
> function, which was written in 29209cbe (dir: fix COLLECT_IGNORED on
> excluded prefixes, 2010-03-11), back in the days before ":(exclude)"
> and other pathspec magic was even invented.
>
> Perhaps try this patch?
>
> I have no idea what the ramifications of the change is, though.
> There may be unintended fallouts in some distant corner, even though
> it does not seem to break any existing tests.
As I haven't heard from anybody if this patch improves the reported
situation or there are unintended behaviour changes that degrades
the system, I'll drop this topic from 'seen' soonish, as this topic
is not exactly my itch. That does not mean that it is unwelcome if
motivated others pick up the patch and polish it to bring it to the
finish line. Anybody doing so should consult the original
discussion thread [*].
Thanks.
[Reference]
* https://lore.kernel.org/git/xmqqtsz9o3cn.fsf@gitster.g/
prev parent reply other threads:[~2026-01-20 20:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-04 15:59 git-add ignores exclude markers for ignored files Rahn, René
2025-11-04 22:11 ` Junio C Hamano
2025-11-05 0:54 ` Junio C Hamano
2026-01-20 20:46 ` Junio C Hamano [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqwm1cxbad.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Rene.Rahn@pfizer.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox