Hi, this patch series removes uses of `the_repository` in "config.c". It does this via two things: - By removing all the wrapper functions `git_config_get()` et al that implicitly rely on `the_repository`. - By moving the Git-specific config parsing (that is, the non-business logic like parsing "core.sharedRepository") into "environment.c". This series is inspired by my painful tries yesterday to start parsing repo settings early in the Git process lifecycle. The changes should make it easier to eventually achieve that. The patch series is long, but almost all of the patches are trivial as they simply replace code like `git_config_foo(...)` with its equivalent `repo_config_foo(the_repository, ...)`. The series is based on top of 90c0775e972 (The eleventh batch, 2025-07-16) with bc/use-sha256-by-default-in-3.0 at c79bb70a2e7 (Enable SHA-256 by default in breaking changes mode, 2025-07-01) merged into it to fix a conflict with "next". There are a couple of merge conflicts with "seen", but they are trivial to solve. Thanks! Patrick --- Patrick Steinhardt (21): config: drop `git_config()` wrapper config: drop `git_config_clear()` wrapper config: drop `git_config_get()` wrapper config: drop `git_config_get_value()` wrapper config: drop `git_config_get_value()` wrapper config: drop `git_config_get_string_multi()` wrapper config: drop `git_config_get_string()` wrapper config: drop `git_config_get_string()` wrapper config: drop `git_config_get_int()` wrapper config: drop `git_config_get_ulong()` wrapper config: drop `git_config_get_bool()` wrapper config: drop `git_config_set_in_file()` wrapper config: drop `git_config_set_gently()` wrapper config: drop `git_config_set()` wrapper config: drop `git_config_set_in_file_gently()` wrapper config: drop `git_config_set_multivar_in_file_gently()` wrapper config: drop `git_config_get_multivar_gently()` wrapper config: drop `git_config_set_multivar()` wrapper config: remove unused `the_repository` wrappers config: move Git config parsing into "environment.c" config: fix sign comparison warnings Documentation/user-manual.adoc | 2 +- apply.c | 6 +- archive-tar.c | 2 +- archive-zip.c | 2 +- archive.c | 4 +- branch.c | 10 +- builtin/add.c | 1 + builtin/am.c | 10 +- builtin/blame.c | 2 +- builtin/branch.c | 8 +- builtin/cat-file.c | 2 +- builtin/check-attr.c | 2 +- builtin/check-ignore.c | 3 +- builtin/check-mailmap.c | 3 +- builtin/checkout--worker.c | 3 +- builtin/checkout-index.c | 1 + builtin/checkout.c | 4 +- builtin/clean.c | 3 +- builtin/clone.c | 26 +- builtin/column.c | 4 +- builtin/commit-graph.c | 5 +- builtin/commit-tree.c | 3 +- builtin/commit.c | 4 +- builtin/config.c | 60 +-- builtin/count-objects.c | 3 +- builtin/credential-cache--daemon.c | 2 +- builtin/credential-store.c | 2 +- builtin/credential.c | 3 +- builtin/describe.c | 2 +- builtin/diff-files.c | 2 +- builtin/diff-index.c | 2 +- builtin/diff-tree.c | 2 +- builtin/diff.c | 2 +- builtin/fast-export.c | 3 +- builtin/fast-import.c | 12 +- builtin/fetch.c | 10 +- builtin/fmt-merge-msg.c | 2 +- builtin/for-each-ref.c | 1 + builtin/fsck.c | 2 +- builtin/fsmonitor--daemon.c | 3 +- builtin/gc.c | 70 ++-- builtin/grep.c | 5 +- builtin/hash-object.c | 3 +- builtin/help.c | 5 +- builtin/hook.c | 3 +- builtin/index-pack.c | 2 +- builtin/interpret-trailers.c | 3 +- builtin/log.c | 24 +- builtin/ls-files.c | 1 + builtin/ls-tree.c | 3 +- builtin/merge-base.c | 3 +- builtin/merge-file.c | 2 +- builtin/merge-tree.c | 3 +- builtin/merge.c | 2 +- builtin/mktag.c | 2 +- builtin/multi-pack-index.c | 5 +- builtin/mv.c | 2 +- builtin/name-rev.c | 2 +- builtin/notes.c | 4 +- builtin/pack-objects.c | 2 +- builtin/pack-refs.c | 1 + builtin/patch-id.c | 3 +- builtin/pull.c | 9 +- builtin/push.c | 2 +- builtin/range-diff.c | 2 +- builtin/read-tree.c | 3 +- builtin/rebase.c | 4 +- builtin/receive-pack.c | 2 +- builtin/reflog.c | 2 +- builtin/refs.c | 2 +- builtin/remote.c | 56 +-- builtin/repack.c | 2 +- builtin/replace.c | 3 +- builtin/rerere.c | 2 +- builtin/reset.c | 2 +- builtin/rev-list.c | 2 +- builtin/rev-parse.c | 4 +- builtin/rm.c | 3 +- builtin/send-pack.c | 1 + builtin/shortlog.c | 2 +- builtin/show-branch.c | 2 +- builtin/show-ref.c | 3 +- builtin/sparse-checkout.c | 2 +- builtin/stash.c | 4 +- builtin/stripspace.c | 2 +- builtin/submodule--helper.c | 56 +-- builtin/symbolic-ref.c | 3 +- builtin/tag.c | 2 +- builtin/unpack-file.c | 3 +- builtin/unpack-objects.c | 2 +- builtin/update-index.c | 2 +- builtin/update-ref.c | 3 +- builtin/update-server-info.c | 1 + builtin/var.c | 5 +- builtin/verify-commit.c | 1 + builtin/verify-pack.c | 3 +- builtin/verify-tag.c | 1 + builtin/worktree.c | 8 +- builtin/write-tree.c | 3 +- checkout.c | 2 +- commit-graph.c | 1 + compat/precompose_utf8.c | 6 +- config.c | 546 +------------------------ config.h | 139 ------- connect.c | 6 +- contrib/coccinelle/config_fn_ctx.pending.cocci | 2 +- convert.c | 2 +- daemon.c | 2 +- dir.c | 4 +- editor.c | 2 +- environment.c | 512 +++++++++++++++++++++++ environment.h | 3 + fetch-pack.c | 16 +- fsck.c | 1 + fsck.h | 2 +- fsmonitor.c | 2 +- gpg-interface.c | 2 +- help.c | 6 +- http-backend.c | 6 +- http-fetch.c | 3 +- http.c | 3 +- imap-send.c | 3 +- list-objects-filter-options.c | 6 +- ls-refs.c | 2 +- mailinfo.c | 1 + merge-ll.c | 2 +- merge-ort.c | 18 +- notes-utils.c | 2 +- notes.c | 2 +- parallel-checkout.c | 4 +- pretty.c | 2 +- promisor-remote.c | 8 +- protocol.c | 2 +- reachable.c | 2 +- read-cache.c | 4 +- rebase-interactive.c | 2 +- reflog.c | 1 + refs.c | 2 +- refs/packed-backend.c | 2 +- refs/reftable-backend.c | 2 +- remote.c | 2 +- rerere.c | 9 +- revision.c | 2 +- run-command.c | 6 +- scalar.c | 18 +- sequencer.c | 36 +- setup.c | 44 +- sideband.c | 6 +- submodule-config.c | 2 +- submodule.c | 2 +- t/helper/test-advise.c | 3 +- t/helper/test-config.c | 20 +- t/helper/test-read-cache.c | 3 +- t/helper/test-userdiff.c | 2 +- t/t4256/1/mailinfo.c | 2 +- t/t4256/1/mailinfo.c.orig | 2 +- trailer.c | 4 +- transport.c | 12 +- versioncmp.c | 4 +- worktree.c | 8 +- xdiff-interface.c | 1 + 161 files changed, 1009 insertions(+), 1096 deletions(-) --- base-commit: 592f97530d99d182d69c66e08279e189d006b410 change-id: 20250716-pks-config-wo-the-repository-21de9489f965