Message ID | 20250303-b4-pks-objects-without-the-repository-v1-0-c5dd43f2476e@pks.im (mailing list archive) |
---|---|
Headers | show |
Series | Stop depending on `the_repository` in object-related subsystems | expand |
Patrick Steinhardt <ps@pks.im> writes: > Hi, > > this patch series is another step to remove our dependency on the global > `the_repository` variable. The series focusses on subsystems related to > objects. > > The intent here is to work towards libification of the whole subsystem > so that we can start splitting out something like an object "backend". > It is thus part of a set of refactorings aimed at allowing pluggable > object databases eventually. I'm not discussing that bigger effort yet, > mostly because it's still taking shape. So these patch series contains > things that make sense standalone, even if pluggable ODBs never get to > be a thing. > > Note that this patch series stop short of dropping `the_repository` in > "object-file.c". This is a bigger undertaking, so I'm pushing that into > the next patch series. > > The series is built on top of cb0ae672aea (A bit more post -rc0, > 2025-02-27) with ps/path-sans-the-repository at 028f618658e (path: > adjust last remaining users of `the_repository`, 2025-02-07) merged into > it. > > Thanks! > Had a look at the series, I only had a small nit or two. Looking great already! Thanks > Patrick > > --- > Patrick Steinhardt (12): > csum-file: stop depending on `the_repository` > object: stop depending on `the_repository` > pack-write: stop depending on `the_repository` and `the_hash_algo` > environment: move access to "core.bigFileThreshold" into repo settings > pack-check: stop depending on `the_repository` > pack-revindex: stop depending on `the_repository` > pack-bitmap-write: stop depending on `the_repository` > object-file-convert: stop depending on `the_repository` > delta-islands: stop depending on `the_repository` > object-file: split out logic regarding hash algorithms > hash: fix "-Wsign-compare" warnings > hash: stop depending on `the_repository` in `null_oid()` > > Makefile | 1 + > archive.c | 4 +- > blame.c | 2 +- > branch.c | 2 +- > builtin/checkout.c | 6 +- > builtin/clone.c | 2 +- > builtin/describe.c | 2 +- > builtin/diff.c | 5 +- > builtin/fast-export.c | 10 +- > builtin/fast-import.c | 8 +- > builtin/fsck.c | 6 +- > builtin/grep.c | 4 +- > builtin/index-pack.c | 16 +- > builtin/log.c | 2 +- > builtin/ls-files.c | 2 +- > builtin/name-rev.c | 4 +- > builtin/pack-objects.c | 17 +- > builtin/prune.c | 2 +- > builtin/rebase.c | 2 +- > builtin/receive-pack.c | 2 +- > builtin/submodule--helper.c | 36 ++-- > builtin/tag.c | 2 +- > builtin/unpack-objects.c | 5 +- > builtin/update-ref.c | 2 +- > builtin/worktree.c | 2 +- > bulk-checkin.c | 4 +- > combine-diff.c | 2 +- > commit-graph.c | 9 +- > commit.c | 2 +- > config.c | 5 - > csum-file.c | 28 +-- > csum-file.h | 12 +- > delta-islands.c | 14 +- > delta-islands.h | 2 +- > diff-lib.c | 10 +- > diff-no-index.c | 28 +-- > diff.c | 14 +- > diff.h | 2 +- > dir.c | 2 +- > environment.c | 1 - > environment.h | 1 - > grep.c | 2 +- > hash.c | 277 +++++++++++++++++++++++++ > hash.h | 4 +- > log-tree.c | 2 +- > merge-ort.c | 26 +-- > merge-recursive.c | 12 +- > meson.build | 1 + > midx-write.c | 12 +- > midx.c | 3 +- > notes-merge.c | 2 +- > notes.c | 2 +- > object-file-convert.c | 29 +-- > object-file-convert.h | 3 +- > object-file.c | 292 +-------------------------- > object.c | 21 +- > object.h | 10 +- > pack-bitmap-write.c | 36 ++-- > pack-bitmap.c | 15 +- > pack-bitmap.h | 1 + > pack-check.c | 12 +- > pack-revindex.c | 35 ++-- > pack-write.c | 55 +++-- > pack.h | 11 +- > parse-options-cb.c | 2 +- > range-diff.c | 2 +- > reachable.c | 6 +- > read-cache.c | 4 +- > refs.c | 12 +- > refs/debug.c | 2 +- > refs/files-backend.c | 2 +- > repo-settings.c | 20 ++ > repo-settings.h | 5 + > reset.c | 2 +- > revision.c | 3 +- > sequencer.c | 10 +- > shallow.c | 10 +- > streaming.c | 3 +- > submodule-config.c | 2 +- > submodule.c | 28 +-- > t/helper/test-ref-store.c | 2 +- > t/helper/test-submodule-nested-repo-config.c | 2 +- > t/t1050-large.sh | 3 +- > tree-diff.c | 4 +- > upload-pack.c | 14 +- > wt-status.c | 4 +- > xdiff-interface.c | 2 +- > 87 files changed, 676 insertions(+), 613 deletions(-) > > > --- > base-commit: e2cb568e11f4ceb427ba4205e6b8a4426d26be12 > change-id: 20250210-b4-pks-objects-without-the-repository-6ba8398f7cc0