aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/pack-objects.c
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2025-07-17 06:56:39 +0200
committerJunio C Hamano <gitster@pobox.com>2025-07-16 22:16:17 -0700
commitd81712ce65f7ee59ce88c8b74f09b6e6456a6f3c (patch)
treec4489f5d836c944447042afe0b1c364b4bb81c4a /builtin/pack-objects.c
parentobject-file: remove declaration for `for_each_file_in_obj_subdir()` (diff)
downloadgit-d81712ce65f7ee59ce88c8b74f09b6e6456a6f3c.tar.gz
git-d81712ce65f7ee59ce88c8b74f09b6e6456a6f3c.zip
object-file: get rid of `the_repository` in loose object iterators
The iterators for loose objects still rely on `the_repository`. Refactor them: - `for_each_loose_file_in_objdir()` is refactored so that the caller is now expected to pass an `odb_source` as parameter instead of the path to that source. Furthermore, it is renamed accordingly to `for_each_loose_file_in_source()`. - `for_each_loose_object()` is refactored to take in an object database now and calls the above function in a loop. This allows us to get rid of the global dependency. Adjust callers accordingly. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/pack-objects.c')
-rw-r--r--builtin/pack-objects.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index e8e85d8278..9e85293730 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -4342,9 +4342,8 @@ static int add_loose_object(const struct object_id *oid, const char *path,
*/
static void add_unreachable_loose_objects(void)
{
- for_each_loose_file_in_objdir(repo_get_object_directory(the_repository),
- add_loose_object,
- NULL, NULL, NULL);
+ for_each_loose_file_in_source(the_repository->objects->sources,
+ add_loose_object, NULL, NULL, NULL);
}
static int has_sha1_pack_kept_or_nonlocal(const struct object_id *oid)