git/refs
Patrick Steinhardt f016ec17fb refs/files: lazy-load configuration to fix chicken-and-egg
When initializing the "files" reference backend we read the repository's
config to parse "core.preferSymlinkRefs" and "core.logAllRefUpdates".
This results in a chicken-and-egg problem though, because parsing the
configuration may require us to have access to the reference store
already when an "onbranch" condition exists.

Luckily, all the configuration that we honor only relates to writing
references. Consequently, we don't strictly need that configuration to
be readily available at initialization time, and we can easiliy defer
parsing it to a later point in time.

Implement this fix and add tests that verify that we can indeed properly
parse these config knobs via an "onbranch" condition.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2026-06-26 08:27:19 -07:00
..
debug.c Merge branch 'gf/maintenance-is-needed-fix' 2025-12-30 12:58:20 +09:00
files-backend.c refs/files: lazy-load configuration to fix chicken-and-egg 2026-06-26 08:27:19 -07:00
iterator.c refs: rename `each_ref_fn` 2026-02-23 13:21:18 -08:00
packed-backend.c refs: unregister reference stores from "chdir_notify" 2026-06-26 08:27:19 -07:00
packed-backend.h refs: introduce `ref_store_init_options` 2026-05-05 16:34:07 +09:00
ref-cache.c refs: drop infrastructure to peel via iterators 2025-11-04 07:32:25 -08:00
ref-cache.h ref-cache: remove unused function 'find_ref_entry()' 2025-07-15 11:54:19 -07:00
refs-internal.h refs: move parsing of "core.logAllRefUpdates" back into ref stores 2026-06-26 08:27:19 -07:00
reftable-backend.c refs: move parsing of "core.logAllRefUpdates" back into ref stores 2026-06-26 08:27:19 -07:00