Merge branch 'rs/repack-without-loosening-promised-objects'
"git repack -A -d" in a partial clone unnecessarily loosened objects in promisor pack. * rs/repack-without-loosening-promised-objects: repack: avoid loosening promisor objects in partial clones
This commit is contained in:
@ -3479,6 +3479,7 @@ static void loosen_unused_packed_objects(void)
|
||||
{
|
||||
struct packed_git *p;
|
||||
uint32_t i;
|
||||
uint32_t loosened_objects_nr = 0;
|
||||
struct object_id oid;
|
||||
|
||||
for (p = get_all_packs(the_repository); p; p = p->next) {
|
||||
@ -3492,11 +3493,16 @@ static void loosen_unused_packed_objects(void)
|
||||
nth_packed_object_id(&oid, p, i);
|
||||
if (!packlist_find(&to_pack, &oid) &&
|
||||
!has_sha1_pack_kept_or_nonlocal(&oid) &&
|
||||
!loosened_object_can_be_discarded(&oid, p->mtime))
|
||||
!loosened_object_can_be_discarded(&oid, p->mtime)) {
|
||||
if (force_object_loose(&oid, p->mtime))
|
||||
die(_("unable to force loose object"));
|
||||
loosened_objects_nr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
trace2_data_intmax("pack-objects", the_repository,
|
||||
"loosen_unused_packed_objects/loosened", loosened_objects_nr);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user