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
11
connected.h
11
connected.h
@ -48,12 +48,13 @@ struct check_connected_options {
|
||||
unsigned is_deepening_fetch : 1;
|
||||
|
||||
/*
|
||||
* If non-zero, only check the top-level objects referenced by the
|
||||
* wanted refs (passed in as cb_data). This is useful for partial
|
||||
* clones, where enumerating and excluding all promisor objects is very
|
||||
* slow and the commit-walk itself becomes a no-op.
|
||||
* If non-zero, only check that the top-level objects referenced by the
|
||||
* wanted refs (passed in as cb_data) are promisor objects. This is
|
||||
* useful for partial clones, where enumerating and excluding all
|
||||
* promisor objects is very slow and the commit-walk itself becomes a
|
||||
* no-op.
|
||||
*/
|
||||
unsigned check_refs_only : 1;
|
||||
unsigned check_refs_are_promisor_objects_only : 1;
|
||||
};
|
||||
|
||||
#define CHECK_CONNECTED_INIT { 0 }
|
||||
|
Reference in New Issue
Block a user