On Mon, Mar 10, 2025 at 12:13 AM Patrick Steinhardt <ps@xxxxxx> wrote: > > 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. > [...] > Changes in v4: > - Fix indentation in one of the commit messages. > - Link to v3: https://lore.kernel.org/r/20250307-b4-pks-objects-without-the-repository-v3-0-7bccf408731e@xxxxxx Thanks, v4 looks good to me. > > 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 | 3 +- > 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, 677 insertions(+), 613 deletions(-) > > Range-diff versus v3: > > 1: 01b5b16c3a4 = 1: 9d65ce9a2f2 csum-file: stop depending on `the_repository` > 2: 14e0349be2f = 2: 038c6e54308 object: stop depending on `the_repository` > 3: 9c7b8a031cc = 3: 9abd1306d6a pack-write: stop depending on `the_repository` and `the_hash_algo` > 4: e0168b431e7 = 4: 605fb2a7176 environment: move access to "core.bigFileThreshold" into repo settings > 5: 529f296a935 = 5: dc88e5ca6b2 pack-check: stop depending on `the_repository` > 6: d4a2e9a7861 = 6: fee92049913 pack-revindex: stop depending on `the_repository` > 7: 15e4d4de519 = 7: f8ff74c83cf pack-bitmap-write: stop depending on `the_repository` > 8: 576d846495f = 8: 47547d3f566 object-file-convert: stop depending on `the_repository` > 9: faf0f90a005 = 9: 39da917072f delta-islands: stop depending on `the_repository` > 10: b37879d101c = 10: a509d63ee74 object-file: split out logic regarding hash algorithms > 11: 4a1a5c67792 = 11: 421f1e96595 hash: fix "-Wsign-compare" warnings > 12: f45a7866d03 ! 12: 1b0b8f71125 hash: stop depending on `the_repository` in `null_oid()` > @@ Commit message > object in the superproject, and consequently we need to use its hash > algorithm. > > - This means that we could in theory just not bother about this edge case > - at all and just use `the_repository` in "diff-no-index.c". But doing so > - would feel misdesigned. > + This means that we could in theory just not bother about this edge > + case at all and just use `the_repository` in "diff-no-index.c". But > + doing so would feel misdesigned. > > Remove the `USE_THE_REPOSITORY_VARIABLE` preprocessor define in > "hash.c". > > --- > base-commit: e2cb568e11f4ceb427ba4205e6b8a4426d26be12 > change-id: 20250210-b4-pks-objects-without-the-repository-6ba8398f7cc0 >