Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] ls-files: fix overeager pathspec optimization

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:47:59


On Fri, 8 Jan 2010, Junio C Hamano wrote:
Since "git add" uses the exact same codepath to find the untracked files
that match the pathspecs, I expected the "fix" will make it complain about
"t/gomi" being ignored.  Not so.
No. Since 't' is ignored, it won't even do a readdir() in there.

And since it didn't do a readdir() in there, it won't find any files in 
there to add to the ignored list.

And that's how the "git add" logic for "apparently ignored" files works: 
it looks at whether the list of ignored files is empty or not.
Actually, it does start ignoring t/gomi (the index does not have t/gomi
after the above sequence with the patch), but lack of the error message
makes it a rather unfortunate regression---it works as specified in the
sense that ignored paths are not added to the index unless --forced, but
it does so without telling the user about it.
I have this memory that _used_ to have a per-filename flag in "git add" 
that checked if that particular filename component was used or not. But 
now it just looks at 'dir->ignored_nr' and 'dir->ignored[]'.

[ Digging back in history.. Yes: commit e96980ef ]

		Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help