diff options
author | Patrick Steinhardt <ps@pks.im> | 2025-03-12 16:56:19 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2025-03-12 11:31:20 -0700 |
commit | 84e656919cb7237f1b11a948974d0591d9d3434f (patch) | |
tree | 5d274a55963e3f188a706f526b78edf5351856de /builtin/commit-tree.c | |
parent | 53de20c931faabdb6fa9a30d949266b2a7471497 (diff) |
refs/iterator: implement seeking for ref-cache iterators
Implement seeking of ref-cache iterators. This is done by splitting most
of the logic to seek iterators out of `cache_ref_iterator_begin()` and
putting it into `cache_ref_iterator_seek()` so that we can reuse the
logic.
Note that we cannot use the optimization anymore where we return an
empty ref iterator when there aren't any references, as otherwise it
wouldn't be possible to reseek the iterator to a different prefix that
may exist. This shouldn't be much of a performance concern though as we
now start to bail out early in case `advance()` sees that there are no
more directories to be searched.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/commit-tree.c')
0 files changed, 0 insertions, 0 deletions