diff options
author | Jonathan Tan <jonathantanmy@google.com> | 2020-01-12 07:15:24 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-01-30 21:55:31 +0300 |
commit | 50033772d50ef3c4023d63561d20bc61db96500e (patch) | |
tree | 99669783c6a4319593cd5f0555e5b17894e9bdb9 /builtin/clone.c | |
parent | d0654dc308b0ba76dd8ed7bbb33c8d8f7aacd783 (diff) |
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>
Diffstat (limited to 'builtin/clone.c')
-rw-r--r-- | builtin/clone.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/builtin/clone.c b/builtin/clone.c index 0fc89ae2b9c..0516181052e 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -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")); |