The back story of this patch is in https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/746; it comes down to: we have a repo with 500,000 refs of which only 50,000 are visible. Having ls-refs iterate through all the refs adds considerable overhead. This patch reduces the number of refs visited by replacing one ref walk over refs/ with multiple ref walks over the prefixes the user requested via ref-prefix. In the case the user did not use ref-prefix we fall back to the walk over all of refs/. Jacob Vosmaer (1): ls-refs.c: minimize number of refs visited ls-refs.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) -- 2.30.0