Thread (4 messages) flat view 4 messages, 3 authors, 19d ago

Re: [PATCH] dir: fix negative pathspecs in 'git ls-files' and 'git add'

From: Junio C Hamano <hidden>
Date: 2026-08-28 21:37:08

"Diogo Castro via GitGitGadget" [off-list ref] writes:
From: Diogo Castro <redacted>

`git ls-files` calls `common_prefix()` / `get_common_prefix_len()` which
calculate the length of the common prefix of all *positive* pathspecs,
`max_prefix_len`.
...
Solution: in `do_match_pathspec()`, only strip the prefix when handling
positive pathspecs, not when handling negative pathspecs.
Hmph, if the command line were

	git ls-files -- a/b/c a/b/d !a/b/

shouldn't we strip a/b/ from all three?  Would it make sense to
leave the negative one relative to the full tree?  I am wondering
if the solution is to compute common prefix across both positive and
negative ones instead.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help