"Matthew Rogers via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Matthew Rogers <mattr94@xxxxxxxxx> > > Previously when iterating through git config variables, worktree config > and local config were both considered "CONFIG_SCOPE_REPO". This was > never a problem before as no one had needed to differentiate between the > two cases, but future functionality may care whether or not the config > options come from a worktree or from the repository's actual local > config file. For example, the planned feature to add a '--show-scope' > to config to allow a user to see which scope listed config options come > from would confuse users if it just printed 'repo' rather than 'local' > or 'worktree' as the documentation would lead them to expect. As well > as the additional benefit of making the implementation look more like > how the documentation describes the interface. > > To accomplish this we split out what was previously considered repo > scope to be local and worktree. > > The clients of 'current_config_scope()' who cared about > CONFIG_SCOPE_REPO are also modified to similarly care about > CONFIG_SCOPE_WORKTREE and CONFIG_SCOPE_LOCAL to preserve previous behavior. > > Signed-off-by: Matthew Rogers <mattr94@xxxxxxxxx> > --- > config.c | 7 ++----- > config.h | 3 ++- > remote.c | 3 ++- > t/helper/test-config.c | 4 +++- > t/t1308-config-set.sh | 2 +- > upload-pack.c | 3 ++- > 6 files changed, 12 insertions(+), 10 deletions(-) Nicely done. > diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh > index 7b4e1a63eb..90196e2862 100755 > --- a/t/t1308-config-set.sh > +++ b/t/t1308-config-set.sh > @@ -259,7 +259,7 @@ test_expect_success 'iteration shows correct origins' ' > value=from-repo > origin=file > name=.git/config > - scope=repo > + scope=local > > key=foo.bar > value=from-cmdline OK.