Thread (26 messages) 26 messages, 5 authors, 2023-06-13

Re: [PATCH v2 0/3] Fix behavior of worktree config in submodules

From: Derrick Stolee <hidden>
Date: 2023-05-26 15:48:15

On 5/25/2023 9:32 PM, Victoria Dye via GitGitGadget wrote:
About a year ago, discussion on the sparse index integration of 'git grep'
surfaced larger incompatibilities between sparse-checkout and submodules
[1]. This series fixes one of the underlying issues to that incompatibility,
which is that the worktree config of the submodule (where
'core.sparseCheckout', 'core.sparseCheckoutCone', and 'index.sparse' are
set) is not used when operating on the submodule from its super project
(e.g., in a command with '--recurse-submodules').

The outcome of this series is that 'extensions.worktreeConfig' and the
contents of the repository's worktree config are read and applied to (and
only to) the relevant repo when working in a super project/submodule setup.
This alone doesn't fix sparse-checkout/submodule interoperability; the
additional changes needed for that will be submitted in a later series. I'm
also hoping this will help (or at least not hurt) the work to avoid use of
global state in config parsing [2].


Changes since V1
================

 * In 't3007', replaced manual 'git config'/'test_when_finished "git config
   --unset"' pairs with 'test_config' helper. Updated 'test_config' to
   handle the '--worktree' option.
 * Updated commit messages & test comments to better explain the purpose and
   more subtle functionality details to the new tests
 * Added a commit to move 'struct repository' out of 'git_config_source',
   rather than creating a dummy 'config_source' just to hold a repository
   instance.
 * Changed the config setting in the new tests from 'feature.experimental'
   to 'index.sparse' to tie these changes to their intended use case.
 * "super project" -> "superproject"
Thanks for these updates. I'm happy with this version.

Thanks,
-Stolee
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help