diff options
author | Patrick Steinhardt <ps@pks.im> | 2024-02-21 12:37:35 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-02-21 17:58:06 (GMT) |
commit | 5e01d838412d6679c40c929bbb2591669ae393d4 (patch) | |
tree | aefb1725c0a168689d80701259f57e4e1bf4a43f /refs/files-backend.c | |
parent | 6f227800176d7ed1d1c50d64ef5d5e485f5fbee3 (diff) | |
download | git-5e01d838412d6679c40c929bbb2591669ae393d4.zip git-5e01d838412d6679c40c929bbb2591669ae393d4.tar.gz git-5e01d838412d6679c40c929bbb2591669ae393d4.tar.bz2 |
refs: always treat iterators as ordered
In the preceding commit we have converted the reflog iterator of the
"files" backend to be ordered, which was the only remaining ref iterator
that wasn't ordered. Refactor the ref iterator infrastructure so that we
always assume iterators to be ordered, thus simplifying the code.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs/files-backend.c')
-rw-r--r-- | refs/files-backend.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c index 551cafd..05bb0c8 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -879,8 +879,7 @@ static struct ref_iterator *files_ref_iterator_begin( CALLOC_ARRAY(iter, 1); ref_iterator = &iter->base; - base_ref_iterator_init(ref_iterator, &files_ref_iterator_vtable, - overlay_iter->ordered); + base_ref_iterator_init(ref_iterator, &files_ref_iterator_vtable); iter->iter0 = overlay_iter; iter->repo = ref_store->repo; iter->flags = flags; @@ -2202,7 +2201,7 @@ static struct ref_iterator *reflog_iterator_begin(struct ref_store *ref_store, CALLOC_ARRAY(iter, 1); ref_iterator = &iter->base; - base_ref_iterator_init(ref_iterator, &files_reflog_iterator_vtable, 1); + base_ref_iterator_init(ref_iterator, &files_reflog_iterator_vtable); iter->dir_iterator = diter; iter->ref_store = ref_store; strbuf_release(&sb); @@ -2220,7 +2219,7 @@ static struct ref_iterator *files_reflog_iterator_begin(struct ref_store *ref_st return reflog_iterator_begin(ref_store, refs->gitcommondir); } else { return merge_ref_iterator_begin( - 1, reflog_iterator_begin(ref_store, refs->base.gitdir), + reflog_iterator_begin(ref_store, refs->base.gitdir), reflog_iterator_begin(ref_store, refs->gitcommondir), ref_iterator_select, refs); } |