mirror of
https://github.com/git/git.git
synced 2024-11-27 12:03:55 +08:00
credential: load default config
Make `git credential fill` honour the core.askPass variable. Signed-off-by: Thomas Koutcher <thomas.koutcher@online.fr> [jk: added test] Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a5fa49ff0a
commit
567ad2c0f9
@ -1,6 +1,7 @@
|
||||
#include "git-compat-util.h"
|
||||
#include "credential.h"
|
||||
#include "builtin.h"
|
||||
#include "config.h"
|
||||
|
||||
static const char usage_msg[] =
|
||||
"git credential [fill|approve|reject]";
|
||||
@ -10,6 +11,8 @@ int cmd_credential(int argc, const char **argv, const char *prefix)
|
||||
const char *op;
|
||||
struct credential c = CREDENTIAL_INIT;
|
||||
|
||||
git_config(git_default_config, NULL);
|
||||
|
||||
if (argc != 2 || !strcmp(argv[1], "-h"))
|
||||
usage(usage_msg);
|
||||
op = argv[1];
|
||||
|
@ -265,6 +265,32 @@ test_expect_success 'internal getpass does not ask for known username' '
|
||||
EOF
|
||||
'
|
||||
|
||||
test_expect_success 'git-credential respects core.askPass' '
|
||||
write_script alternate-askpass <<-\EOF &&
|
||||
echo >&2 "alternate askpass invoked"
|
||||
echo alternate-value
|
||||
EOF
|
||||
test_config core.askpass "$PWD/alternate-askpass" &&
|
||||
(
|
||||
# unset GIT_ASKPASS set by lib-credential.sh which would
|
||||
# override our config, but do so in a subshell so that we do
|
||||
# not interfere with other tests
|
||||
sane_unset GIT_ASKPASS &&
|
||||
check fill <<-\EOF
|
||||
protocol=http
|
||||
host=example.com
|
||||
--
|
||||
protocol=http
|
||||
host=example.com
|
||||
username=alternate-value
|
||||
password=alternate-value
|
||||
--
|
||||
alternate askpass invoked
|
||||
alternate askpass invoked
|
||||
EOF
|
||||
)
|
||||
'
|
||||
|
||||
HELPER="!f() {
|
||||
cat >/dev/null
|
||||
echo username=foo
|
||||
|
Loading…
Reference in New Issue
Block a user