connected: verify promisor-ness of partial clone
Commit dfa33a298d
("clone: do faster object check for partial clones",
2019-04-21) optimized the connectivity check done when cloning with
--filter to check only the existence of objects directly pointed to by
refs. But this is not sufficient: they also need to be promisor objects.
Make this check more robust by instead checking that these objects are
promisor objects, that is, they appear in a promisor pack.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
d0654dc308
commit
50033772d5
@ -673,7 +673,7 @@ static void update_remote_refs(const struct ref *refs,
|
||||
const char *msg,
|
||||
struct transport *transport,
|
||||
int check_connectivity,
|
||||
int check_refs_only)
|
||||
int check_refs_are_promisor_objects_only)
|
||||
{
|
||||
const struct ref *rm = mapped_refs;
|
||||
|
||||
@ -682,7 +682,8 @@ static void update_remote_refs(const struct ref *refs,
|
||||
|
||||
opt.transport = transport;
|
||||
opt.progress = transport->progress;
|
||||
opt.check_refs_only = !!check_refs_only;
|
||||
opt.check_refs_are_promisor_objects_only =
|
||||
!!check_refs_are_promisor_objects_only;
|
||||
|
||||
if (check_connected(iterate_ref_map, &rm, &opt))
|
||||
die(_("remote did not send all necessary objects"));
|
||||
|
Reference in New Issue
Block a user