]> git.ipfire.org Git - thirdparty/git.git/commit
object-file: get rid of `the_repository` in loose object iterators
authorPatrick Steinhardt <ps@pks.im>
Thu, 17 Jul 2025 04:56:39 +0000 (06:56 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 17 Jul 2025 05:16:17 +0000 (22:16 -0700)
commitd81712ce65f7ee59ce88c8b74f09b6e6456a6f3c
treec4489f5d836c944447042afe0b1c364b4bb81c4a
parent83439299f1326c7471f5c7595c96d14b65a71879
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>
builtin/cat-file.c
builtin/count-objects.c
builtin/fsck.c
builtin/gc.c
builtin/pack-objects.c
builtin/prune.c
object-file.c
object-file.h
prune-packed.c
reachable.c