mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
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>
This commit is contained in:
committed by
Junio C Hamano
parent
19c76e8235
commit
30aaff437f
4
tag.c
4
tag.c
@@ -91,10 +91,10 @@ struct object *deref_tag(struct repository *r, struct object *o, const char *war
|
||||
return o;
|
||||
}
|
||||
|
||||
struct object *deref_tag_noverify(struct object *o)
|
||||
struct object *deref_tag_noverify(struct repository *r, struct object *o)
|
||||
{
|
||||
while (o && o->type == OBJ_TAG) {
|
||||
o = parse_object(the_repository, &o->oid);
|
||||
o = parse_object(r, &o->oid);
|
||||
if (o && o->type == OBJ_TAG && ((struct tag *)o)->tagged)
|
||||
o = ((struct tag *)o)->tagged;
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user