object-file: get rid of the_repository in force_object_loose()
The function `force_object_loose()` forces an object to become a loose object in case it only exists in its packed form. To do so it implicitly relies on `the_repository`. Refactor the function by passing a `struct odb_source` as parameter. While the check whether any such loose object exists already acts on the whole object database, writing the loose object happens in one specific source. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
0df005353a
commit
c2b5d1490a
@@ -4411,7 +4411,8 @@ static void loosen_unused_packed_objects(void)
|
||||
if (!packlist_find(&to_pack, &oid) &&
|
||||
!has_sha1_pack_kept_or_nonlocal(&oid) &&
|
||||
!loosened_object_can_be_discarded(&oid, p->mtime)) {
|
||||
if (force_object_loose(&oid, p->mtime))
|
||||
if (force_object_loose(the_repository->objects->sources,
|
||||
&oid, p->mtime))
|
||||
die(_("unable to force loose object"));
|
||||
loosened_objects_nr++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user