summaryrefslogtreecommitdiff
path: root/t/t5550-http-fetch.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2011-12-10 05:31:24 -0500
committerJunio C Hamano <gitster@pobox.com>2011-12-11 23:16:24 -0800
commit118250728e1aa46c19d4d258950b2ba15cb6d5d2 (patch)
tree8ad51df9c4dff257351e698391cc0e70d0b405cb /t/t5550-http-fetch.sh
parent148bb6a7b4d82a6380c6a51951b870933564c115 (diff)
downloadgit-118250728e1aa46c19d4d258950b2ba15cb6d5d2.tar.gz
credential: apply helper config
The functionality for credential storage helpers is already there; we just need to give the users a way to turn it on. This patch provides a "credential.helper" configuration variable which allows the user to provide one or more helper strings. Rather than simply matching credential.helper, we will also compare URLs in subsection headings to the current context. This means you can apply configuration to a subset of credentials. For example: [credential "https://example.com"] helper = foo would match a request for "https://example.com/foo.git", but not one for "https://kernel.org/foo.git". This is overkill for the "helper" variable, since users are unlikely to want different helpers for different sites (and since helpers run arbitrary code, they could do the matching themselves anyway). However, future patches will add new config variables where this extra feature will be more useful. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5550-http-fetch.sh')
-rwxr-xr-xt/t5550-http-fetch.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/t/t5550-http-fetch.sh b/t/t5550-http-fetch.sh
index 398a2d29a4..c59908fe77 100755
--- a/t/t5550-http-fetch.sh
+++ b/t/t5550-http-fetch.sh
@@ -101,6 +101,18 @@ test_expect_success 'http auth can request both user and pass' '
expect_askpass both user@host
'
+test_expect_success 'http auth respects credential helper config' '
+ test_config_global credential.helper "!f() {
+ cat >/dev/null
+ echo username=user@host
+ echo password=user@host
+ }; f" &&
+ >askpass-query &&
+ echo wrong >askpass-response &&
+ git clone "$HTTPD_URL/auth/repo.git" clone-auth-helper &&
+ expect_askpass none
+'
+
test_expect_success 'fetch changes via http' '
echo content >>file &&
git commit -a -m two &&