git/refs
Patrick Steinhardt 2eb1d0c452 refs/files: skip creation of "refs/{heads,tags}" for worktrees
The files ref backend will create both "refs/heads" and "refs/tags" in
the Git directory. While this logic makes sense for normal repositories,
it does not for worktrees because those refs are "common" refs that
would always be contained in the main repository's ref database.

Introduce a new flag telling the backend that it is expected to create a
per-worktree ref database and skip creation of these dirs in the files
backend when the flag is set. No other backends (currently) need
worktree-specific logic, so this is the only required change to start
creating per-worktree ref databases via `refs_init_db()`.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-08 13:17:30 -08:00
..
debug.c refs: prepare `refs_init_db()` for initializing worktree refs 2024-01-08 13:17:30 -08:00
files-backend.c refs/files: skip creation of "refs/{heads,tags}" for worktrees 2024-01-08 13:17:30 -08:00
iterator.c treewide: remove unnecessary cache.h inclusion from several sources 2023-03-21 10:56:51 -07:00
packed-backend.c refs: prepare `refs_init_db()` for initializing worktree refs 2024-01-08 13:17:30 -08:00
packed-backend.h Revert "Merge branch 'ps/avoid-unnecessary-hook-invocation-with-packed-refs'" 2022-04-13 15:51:33 -07:00
ref-cache.c ref-cache.c: fix prefix matching in ref iteration 2023-10-09 15:53:13 -07:00
ref-cache.h hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
refs-internal.h refs: prepare `refs_init_db()` for initializing worktree refs 2024-01-08 13:17:30 -08:00