Subject: [RFC PATCH 0/2] First steps towards iterating over submodule refs

From: Jonathan Tan <[email-masked]>
Date: Wed, 25 Aug 2021 16:23:29 -0700

Here are more results from my submodule partial clone work - teaching
ref iteration to work with submodules by introducing struct repo
parameters at different points. I'm sending this out early as RFC
(before implementing the part that actually adds support for other
repositories) because there might be a better way to do this that I
haven't thought of. (This patch set contains my best idea for how this
could be implemented, but admittedly it is a bit unelegant that the repo
parameter is injected differently into each iterator function.)

This will break any existing topic that introduces new ref store
backends (Han-Wen cc-ed for reftable), although I think that the changes
introduced here are not too significant.

Jonathan Tan (2):
  refs: make _advance() check struct repo, not flag
  refs: add repo paramater to _iterator_peel()

 refs.c                | 50 +++++++++++++++++++++++-------------------
 refs/debug.c          | 13 ++++++-----
 refs/files-backend.c  | 31 ++++++++++++++++++--------
 refs/iterator.c       | 38 ++++++++++++++++++++++++--------
 refs/packed-backend.c | 30 ++++++++++++++++---------
 refs/ref-cache.c      |  7 +++---
 refs/refs-internal.h  | 51 +++++++++++++++++++++++++++++--------------
 7 files changed, 144 insertions(+), 76 deletions(-)

-- 
2.33.0.rc2.250.ged5fa647cd-goog