Re: [PATCH 1/1] ls-refs.c: minimize number of refs visited
From: Jeff King <hidden>
Date: 2021-01-19 22:22:26
On Tue, Jan 19, 2021 at 04:59:18PM -0500, Jeff King wrote:
quoted
quoted
What does "delimited by /" mean?Ah, I just meant that it looks for the longest common prefix where it will only split at '/' characters. But, that's not right at all: find_longest_prefixes_1() will happily split anywhere there is a difference.Right. We thought in early revisions of the ref-filter work that we might have to split on path components, but it turns out that the underlying ref code is happy to take arbitrary prefixes. And it's that code which defines our strategy; Even if the ls-refs code wanted to allow only full path components, it should be using the limiting from for_each_ref_in() only as an optimization, and applying its own filtering to the output.
Having now looked carefully at the ls-refs code, it's a pure prefix-match, too. So I think we _could_ rely on for_each_fullref_in() returning us the correct full results, and not checking it further in send_ref(). But I kind of like keeping it there as an extra check (and one which could in theory grow more logic later). -Peff