diff options
author | Patrick Steinhardt <ps@pks.im> | 2024-05-17 10:19:04 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-05-17 19:33:39 +0200 |
commit | 30aaff437fddd889ba429b50b96ea4c151c502c5 (patch) | |
tree | 21c333bae42ced8e44e48fc106924e47d87c97b1 /refs.h | |
parent | refs: move object peeling into "object.c" (diff) | |
download | git-30aaff437fddd889ba429b50b96ea4c151c502c5.tar.xz git-30aaff437fddd889ba429b50b96ea4c151c502c5.zip |
refs: pass repo when peeling objects
Both `peel_object()` and `peel_iterated_oid()` implicitly rely on
`the_repository` to look up objects. Despite the fact that we want to
get rid of `the_repository`, it also leads to some restrictions in our
ref iterators when trying to retrieve the peeled value for a repository
other than `the_repository`.
Refactor these functions such that both take a repository as argument
and remove the now-unnecessary restrictions.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.h')
-rw-r--r-- | refs.h | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -127,13 +127,14 @@ void ref_store_release(struct ref_store *ref_store); * Return the peeled value of the oid currently being iterated via * for_each_ref(), etc. This is equivalent to calling: * - * peel_object(oid, &peeled); + * peel_object(r, oid, &peeled); * * with the "oid" value given to the each_ref_fn callback, except * that some ref storage may be able to answer the query without * actually loading the object in memory. */ -int peel_iterated_oid(const struct object_id *base, struct object_id *peeled); +int peel_iterated_oid(struct repository *r, + const struct object_id *base, struct object_id *peeled); /** * Resolve refname in the nested "gitlink" repository in the specified |