diff options
author | Jeff King <peff@peff.net> | 2011-05-24 18:49:55 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-24 16:25:36 -0700 |
commit | 06eb708f331f0829081f4f3fb3c465eaae345deb (patch) | |
tree | 358ed944c194958c7e45dc7ceca4911c6ff6e563 /t | |
parent | 5a0c9eeb89a19a05cbc2bf570f69f1724ef873dd (diff) | |
download | git-06eb708f331f0829081f4f3fb3c465eaae345deb.tar.gz |
config: always parse GIT_CONFIG_PARAMETERS during git_config
Previously we parsed GIT_CONFIG_PARAMETERS lazily into a
linked list, and then checked that list during future
invocations of git_config. However, that ignores the fact
that the environment variable could change during our run
(e.g., because we parse more "-c" as part of an alias).
Instead, let's just re-parse the environment variable each
time. It's generally not very big, and it's no more work
than parsing the config files, anyway.
As a bonus, we can ditch all of the linked list storage code
entirely, making the code much simpler.
The test unfortunately still does not pass because of an
unrelated bug in handle_options.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t1300-repo-config.sh | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index d0ab8ffe1b..52c9ac9b65 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -854,4 +854,11 @@ test_expect_success 'git -c "key=value" support' ' test_must_fail git -c core.name=value config name ' +test_expect_failure 'git -c works with aliases of builtins' ' + git config alias.checkconfig "-c foo.check=bar config foo.check" && + echo bar >expect && + git checkconfig >actual && + test_cmp expect actual +' + test_done |