diff options
| author | Patrick Steinhardt <ps@pks.im> | 2025-07-17 06:56:39 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-07-16 22:16:17 -0700 |
| commit | d81712ce65f7ee59ce88c8b74f09b6e6456a6f3c (patch) | |
| tree | c4489f5d836c944447042afe0b1c364b4bb81c4a /object-file.h | |
| parent | object-file: remove declaration for `for_each_file_in_obj_subdir()` (diff) | |
| download | git-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 'object-file.h')
| -rw-r--r-- | object-file.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/object-file.h b/object-file.h index d52b335e85..1b1ab95423 100644 --- a/object-file.h +++ b/object-file.h @@ -86,7 +86,7 @@ typedef int each_loose_cruft_fn(const char *basename, typedef int each_loose_subdir_fn(unsigned int nr, const char *path, void *data); -int for_each_loose_file_in_objdir(const char *path, +int for_each_loose_file_in_source(struct odb_source *source, each_loose_object_fn obj_cb, each_loose_cruft_fn cruft_cb, each_loose_subdir_fn subdir_cb, @@ -99,7 +99,8 @@ int for_each_loose_file_in_objdir(const char *path, * * Any flags specific to packs are ignored. */ -int for_each_loose_object(each_loose_object_fn, void *, +int for_each_loose_object(struct object_database *odb, + each_loose_object_fn, void *, enum for_each_object_flags flags); |
