diff-lib: skip paths outside prefix in oneway_diff()
Commit 8174627b3d (diff-lib: ignore paths that are outside $cwd if
--relative asked, 2021-08-22) taught run_diff_files() to skip entries
outside the requested prefix before processing them.
Do the same in oneway_diff(), which handles the diff-index code path.
The lower-level diff queue functions already reject such paths, but
checking here avoids unnecessary work and keeps them out of every
do_oneway_diff() code path.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
parent
640177a987
commit
151726d3ca
|
|
@ -538,6 +538,11 @@ static int oneway_diff(const struct cache_entry * const *src,
|
|||
if (!idx && !tree)
|
||||
BUG("oneway_diff with neither idx nor tree");
|
||||
|
||||
if (revs->diffopt.prefix &&
|
||||
strncmp((idx ? idx : tree)->name, revs->diffopt.prefix,
|
||||
revs->diffopt.prefix_length))
|
||||
return 0;
|
||||
|
||||
if (ce_path_match(revs->diffopt.repo->index,
|
||||
idx ? idx : tree,
|
||||
&revs->prune_data, NULL)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue