"Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> > > Signed-off-by: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> > --- > refs/refs-internal.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/refs/refs-internal.h b/refs/refs-internal.h > index ff2436c0fb7..3490aac3a40 100644 > --- a/refs/refs-internal.h > +++ b/refs/refs-internal.h > @@ -438,6 +438,11 @@ void base_ref_iterator_free(struct ref_iterator *iter); > > /* Virtual function declarations for ref_iterators: */ > > +/* > + * backend-specific implementation of ref_iterator_advance. > + * For symrefs, the function should set REF_ISSYMREF, and it should also > + * dereference the symref to provide the OID referent. > + */ > typedef int ref_iterator_advance_fn(struct ref_iterator *ref_iterator); Shouldn't we also talk about the need for the backend to yield broken refs with ISBROKEN (iow, you are not allowed to skip---let the caller make the decision to skip) etc.? Other than that, this is a good additional piece of information to tell the implementors of new backend. Thanks. > > typedef int ref_iterator_peel_fn(struct ref_iterator *ref_iterator,