This ended up growing quite a bit, and I mostly hate it.
- Patch 1 introduces GIT_CONFIG_SYSTEM_PATH environment variable
that lets you point at a file other than /etc/gitconfig to
pretend that your file is the system-wide configuration.
- Patch 2 is a small bugfix.
- Patches 3-7 are updates to 1300 and 1308, i.e. tests for "git
config", to make them more robust, in preparation for using
GIT_CONFIG_SYSTEM_PATH mechanism to point at a file during the
test. It protects them a bit more than necessary in that the
variables some of the tests they use when they try to see the
output from "git config --get" are unlikely to appear in the fake
system-wide configuration during the test (hence disabling the
fake system-wide configuration has no practical effect), but
nevertheless the calls are protected by explicitly telling them
to read only from --local configuration file to future-proof
them.
- Patch 8 is queued elsewhere already.
- Patch 9 raises the default core.abbrev to 12 and countermands it
by setting it to 7 in a fake system-wide configuration file
during our test. The unconditional widening of the default
abbreviation size in this patch will have to be discarded,
preferring the approach Linus is taking to auto-size it based on
the number of objects in the repository, but the part that
updates the test script may still be necessary.
Jeff King (1):
t1300: check also system-wide configuration file in --show-origin
tests
Junio C Hamano (8):
config: allow customizing /etc/gitconfig location with an environment
t1300: always compare expect to actual
t1308: ignore system-wide config in the iteration test
t1300: disable system-wide config for tests that wants to read from -c
t1300: take contents of system-wide configuration into account in
"--list" test
t1300: be explicit in local configuration tests
worktree: honor configuration variables
core.abbrev: raise the default abbreviation to 12 hexdigits
builtin/worktree.c | 2 +
cache.h | 1 +
config.c | 2 +
environment.c | 2 +-
t/gitconfig-for-test | 9 ++++
t/t1300-repo-config.sh | 120 ++++++++++++++++++++++++++++++-------------------
t/t1308-config-set.sh | 1 +
t/test-lib.sh | 4 +-
8 files changed, 93 insertions(+), 48 deletions(-)
create mode 100644 t/gitconfig-for-test
--
2.10.0-589-g5adf4e1