Re: [PATCH 11/11] refs: split and make get_*_ref_store() public API
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 14, 2017, 18:24 UTC
- Message-ID
- <xmqq8tp8aawb.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <CACsJy8ChQqUd4poeeKQruQSwdys=ydzxGDC8fU6ZgfrFEEm7NQ@mail.gmail.com>
Duy Nguyen <pclouds@gmail.com> writes:
> Direct call sites are just middle men though, e.g. > for_each_ref_submodule(). I'll attempt to clean this up at some point > in future (probably at the same time I attempt to kill *_submodule ref > api). But I think for now I'll just put a TODO or FIXME comment here.
So we'd have get_*_ref_store() for various cases and then will have a unifying for_each_ref_in_refstore() that takes a ref-store, which supersedes all the ad-hoc iterators like for_each_ref_submodule(), for_each_namespaced_ref(), etc?
That's a very sensible longer-term goal, methinks.
I am wondering what we should do to for_each_{tag,branch,...}_ref(). Would that become
ref_store = get_ref_main_store(); tag_ref_store = filter_ref_store(ref_store, "refs/tags/"); for_each_ref_in_refstore(tag_ref_store, ...);
or do you plan to have some other pattern?