Merge branch 'jk/prune-with-corrupt-refs'
"git prune" used to largely ignore broken refs when deciding which objects are still being used, which could spread an existing small damage and make it a larger one. * jk/prune-with-corrupt-refs: refs.c: drop curate_packed_refs repack: turn on "ref paranoia" when doing a destructive repack prune: turn on ref_paranoia flag refs: introduce a "ref paranoia" flag t5312: test object deletion code paths in a corrupted repository
This commit is contained in:
@ -228,13 +228,17 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
|
||||
get_non_kept_pack_filenames(&existing_packs);
|
||||
|
||||
if (existing_packs.nr && delete_redundant) {
|
||||
if (unpack_unreachable)
|
||||
if (unpack_unreachable) {
|
||||
argv_array_pushf(&cmd.args,
|
||||
"--unpack-unreachable=%s",
|
||||
unpack_unreachable);
|
||||
else if (pack_everything & LOOSEN_UNREACHABLE)
|
||||
argv_array_push(&cmd.env_array, "GIT_REF_PARANOIA=1");
|
||||
} else if (pack_everything & LOOSEN_UNREACHABLE) {
|
||||
argv_array_push(&cmd.args,
|
||||
"--unpack-unreachable");
|
||||
} else {
|
||||
argv_array_push(&cmd.env_array, "GIT_REF_PARANOIA=1");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
argv_array_push(&cmd.args, "--unpacked");
|
||||
|
||||
Reference in New Issue
Block a user