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 10:33:39 -0700 |
| commit | 30aaff437fddd889ba429b50b96ea4c151c502c5 (patch) | |
| tree | 21c333bae42ced8e44e48fc106924e47d87c97b1 /refs.c | |
| parent | refs: move object peeling into "object.c" (diff) | |
| download | git-30aaff437fddd889ba429b50b96ea4c151c502c5.tar.gz 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.c')
| -rw-r--r-- | refs.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -2064,14 +2064,14 @@ int refs_pack_refs(struct ref_store *refs, struct pack_refs_opts *opts) return refs->be->pack_refs(refs, opts); } -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) { if (current_ref_iter && (current_ref_iter->oid == base || oideq(current_ref_iter->oid, base))) return ref_iterator_peel(current_ref_iter, peeled); - return peel_object(base, peeled) ? -1 : 0; + return peel_object(r, base, peeled) ? -1 : 0; } int refs_create_symref(struct ref_store *refs, |
