MCPcopy Index your code
hub / github.com/git/git / ref_iterator_for_stack

Function ref_iterator_for_stack

refs/reftable-backend.c:787–823  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

785}
786
787static struct reftable_ref_iterator *ref_iterator_for_stack(struct reftable_ref_store *refs,
788 struct reftable_stack *stack,
789 const char *prefix,
790 const char **exclude_patterns,
791 int flags)
792{
793 struct reftable_ref_iterator *iter;
794 int ret;
795
796 iter = xcalloc(1, sizeof(*iter));
797 base_ref_iterator_init(&iter->base, &reftable_ref_iterator_vtable);
798 iter->base.ref.oid = &iter->oid;
799 iter->flags = flags;
800 iter->refs = refs;
801 iter->exclude_patterns = filter_exclude_patterns(exclude_patterns);
802
803 ret = refs->err;
804 if (ret)
805 goto done;
806
807 ret = reftable_stack_reload(stack);
808 if (ret)
809 goto done;
810
811 ret = reftable_stack_init_ref_iterator(stack, &iter->iter);
812 if (ret)
813 goto done;
814
815 ret = reftable_ref_iterator_seek(&iter->base, prefix,
816 REF_ITERATOR_SEEK_SET_PREFIX);
817 if (ret)
818 goto done;
819
820done:
821 iter->err = ret;
822 return iter;
823}
824
825static struct ref_iterator *reftable_be_iterator_begin(struct ref_store *ref_store,
826 const char *prefix,

Callers 2

reftable_be_fsckFunction · 0.85

Calls 6

xcallocFunction · 0.85
base_ref_iterator_initFunction · 0.85
filter_exclude_patternsFunction · 0.85
reftable_stack_reloadFunction · 0.85

Tested by

no test coverage detected