object-file: only register submodule ODB if needed
In a35e03dee0
("submodule: lazily add submodule ODBs as alternates",
2021-09-08), Git was taught to add all known submodule ODBs as
alternates when attempting to read an object that doesn't exist, as a
fallback for when a submodule object is read as if it were in
the_repository. However, this behavior wasn't restricted to happen only
when reading from the_repository. Fix this.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
155b517d5c
commit
eef71904ff
@ -1614,7 +1614,14 @@ static int do_oid_object_info_extended(struct repository *r,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (register_all_submodule_odb_as_alternates())
|
/*
|
||||||
|
* If r is the_repository, this might be an attempt at
|
||||||
|
* accessing a submodule object as if it were in the_repository
|
||||||
|
* (having called add_submodule_odb() on that submodule's ODB).
|
||||||
|
* If any such ODBs exist, register them and try again.
|
||||||
|
*/
|
||||||
|
if (r == the_repository &&
|
||||||
|
register_all_submodule_odb_as_alternates())
|
||||||
/* We added some alternates; retry */
|
/* We added some alternates; retry */
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user