]> Kevux Git Server - rit/commit
repository: move 'repository_format_worktree_config' to repo scope
authorVictoria Dye <vdye@github.com>
Fri, 26 May 2023 01:33:00 +0000 (01:33 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 26 May 2023 04:53:41 +0000 (13:53 +0900)
commit3867f6d650c89230ae7393e2d57160ccc14758c7
tree967a2971733b17b584c01943116e39264203f38a
parent9b6b06c159e0a389aaafbce91dd85bb5244ac5ad
repository: move 'repository_format_worktree_config' to repo scope

Move 'repository_format_worktree_config' out of the global scope and into
the 'repository' struct. This change is similar to how
'repository_format_partial_clone' was moved in ebaf3bcf1ae (repository: move
global r_f_p_c to repo struct, 2021-06-17), adding it to the 'repository'
struct and updating 'setup.c' & 'repository.c' functions to assign the value
appropriately.

The primary goal of this change is to be able to load the worktree config of
a submodule depending on whether that submodule - not its superproject - has
'extensions.worktreeConfig' enabled. To ensure 'do_git_config_sequence()'
has access to the newly repo-scoped configuration, add a 'struct repository'
argument to 'do_git_config_sequence()' and pass it the 'repo' value from
'config_with_options()'.

Finally, add/update tests in 't3007-ls-files-recurse-submodules.sh' to
verify 'extensions.worktreeConfig' is read an used independently by
superprojects and submodules.

Signed-off-by: Victoria Dye <vdye@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/config.c
builtin/worktree.c
config.c
environment.c
environment.h
repository.c
repository.h
setup.c
t/t3007-ls-files-recurse-submodules.sh
worktree.c