Merge branch 'xx/bundie-uri-fixes'
When bundleURI interface fetches multiple bundles, Git failed to take full advantage of all bundles and ended up slurping duplicated objects. * xx/bundie-uri-fixes: unbundle: extend object verification for fetches fetch-pack: expose fsckObjects configuration logic bundle-uri: verify oid before writing refs
This commit is contained in:
17
fetch-pack.c
17
fetch-pack.c
@ -956,12 +956,7 @@ static int get_pack(struct fetch_pack_args *args,
|
||||
strvec_push(&cmd.args, alternate_shallow_file);
|
||||
}
|
||||
|
||||
if (fetch_fsck_objects >= 0
|
||||
? fetch_fsck_objects
|
||||
: transfer_fsck_objects >= 0
|
||||
? transfer_fsck_objects
|
||||
: 0)
|
||||
fsck_objects = 1;
|
||||
fsck_objects = fetch_pack_fsck_objects();
|
||||
|
||||
if (do_keep || args->from_promisor || index_pack_args || fsck_objects) {
|
||||
if (pack_lockfiles || fsck_objects)
|
||||
@ -2050,6 +2045,16 @@ static const struct object_id *iterate_ref_map(void *cb_data)
|
||||
return &ref->old_oid;
|
||||
}
|
||||
|
||||
int fetch_pack_fsck_objects(void)
|
||||
{
|
||||
fetch_pack_setup();
|
||||
if (fetch_fsck_objects >= 0)
|
||||
return fetch_fsck_objects;
|
||||
if (transfer_fsck_objects >= 0)
|
||||
return transfer_fsck_objects;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct ref *fetch_pack(struct fetch_pack_args *args,
|
||||
int fd[],
|
||||
const struct ref *ref,
|
||||
|
Reference in New Issue
Block a user