summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2011-05-24 22:49:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-05-24 23:25:36 (GMT)
commit06eb708f331f0829081f4f3fb3c465eaae345deb (patch)
tree358ed944c194958c7e45dc7ceca4911c6ff6e563 /t
parent5a0c9eeb89a19a05cbc2bf570f69f1724ef873dd (diff)
downloadgit-06eb708f331f0829081f4f3fb3c465eaae345deb.zip
git-06eb708f331f0829081f4f3fb3c465eaae345deb.tar.gz
git-06eb708f331f0829081f4f3fb3c465eaae345deb.tar.bz2
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-xt/t1300-repo-config.sh7
1 files changed, 7 insertions, 0 deletions
diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index d0ab8ff..52c9ac9 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