Hi, in "ps/refs-without-the-repository", we have removed all functions in the refs API that could be trivially converted to accept a proper ref store as input. This was a mechanical change, and because the resulting patches were quite large by themselves already, I decided to push out further dependencies on `the_repository` in refs-related code to a follow up. This patch series here is that follow-up and removes all references to `the_repository` in "refs.c" and "refs/". This includes both explicit use of `the_repository`, but also implicit use via `the_hash_algo`. The series is based on 19fe900cfc (The fourth batch, 2024-05-15) and pulls in "ps/refs-without-the-repository" at c8f815c208 (refs: remove functions without ref store, 2024-05-07) as dependency. It applies cleanly to both next and seen at the current point in time. Patrick Patrick Steinhardt (16): refs: adjust names for `init` and `init_db` callbacks refs: rename `init_db` callback to avoid confusion refs: implement releasing ref storages refs: track ref stores via strmap refs: pass repo when retrieving submodule ref store refs: refactor `resolve_gitlink_ref()` to accept a repository refs: retrieve worktree ref stores via associated repository refs: convert iteration over replace refs to accept ref store refs: pass ref store when detecting dangling symrefs refs: move object peeling into "object.c" refs: pass repo when peeling objects refs: drop `git_default_branch_name()` refs: remove `dwim_log()` refs/files: use correct repository refs/files: remove references to `the_hash_algo` refs/packed: remove references to `the_hash_algo` attr.c | 3 +- builtin/clone.c | 5 +- builtin/describe.c | 2 +- builtin/fetch.c | 3 +- builtin/gc.c | 2 +- builtin/pack-objects.c | 6 +- builtin/reflog.c | 2 +- builtin/remote.c | 3 +- builtin/repack.c | 2 +- builtin/replace.c | 13 +- builtin/show-ref.c | 2 +- builtin/submodule--helper.c | 14 +- builtin/update-index.c | 5 +- builtin/var.c | 2 +- builtin/worktree.c | 2 +- combine-diff.c | 3 +- commit-graph.c | 2 +- diff-lib.c | 3 +- dir.c | 3 +- ls-refs.c | 2 +- midx-write.c | 2 +- object-file.c | 2 +- object.c | 23 ++++ object.h | 35 +++++ read-cache.c | 5 +- ref-filter.c | 2 +- reflog-walk.c | 4 +- reflog.c | 2 +- refs.c | 266 ++++++++++-------------------------- refs.h | 51 +++---- refs/debug.c | 15 +- refs/files-backend.c | 58 ++++---- refs/iterator.c | 6 +- refs/packed-backend.c | 66 +++++---- refs/packed-backend.h | 6 +- refs/ref-cache.c | 5 +- refs/refs-internal.h | 55 ++------ refs/reftable-backend.c | 38 +++++- remote.c | 12 +- replace-object.c | 10 +- repository.c | 12 ++ repository.h | 14 ++ setup.c | 7 +- submodule.c | 3 +- t/helper/test-reach.c | 2 +- t/helper/test-ref-store.c | 2 +- tag.c | 4 +- tag.h | 2 +- unpack-trees.c | 3 +- upload-pack.c | 2 +- worktree.c | 2 + worktree.h | 2 + 52 files changed, 405 insertions(+), 392 deletions(-) -- 2.45.1.190.g19fe900cfc.dirty
Attachment:
signature.asc
Description: PGP signature