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:

committed by
Junio C Hamano

parent
a5fa49ff0a
commit
567ad2c0f9
@ -1,6 +1,7 @@
|
|||||||
#include "git-compat-util.h"
|
#include "git-compat-util.h"
|
||||||
#include "credential.h"
|
#include "credential.h"
|
||||||
#include "builtin.h"
|
#include "builtin.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
static const char usage_msg[] =
|
static const char usage_msg[] =
|
||||||
"git credential [fill|approve|reject]";
|
"git credential [fill|approve|reject]";
|
||||||
@ -10,6 +11,8 @@ int cmd_credential(int argc, const char **argv, const char *prefix)
|
|||||||
const char *op;
|
const char *op;
|
||||||
struct credential c = CREDENTIAL_INIT;
|
struct credential c = CREDENTIAL_INIT;
|
||||||
|
|
||||||
|
git_config(git_default_config, NULL);
|
||||||
|
|
||||||
if (argc != 2 || !strcmp(argv[1], "-h"))
|
if (argc != 2 || !strcmp(argv[1], "-h"))
|
||||||
usage(usage_msg);
|
usage(usage_msg);
|
||||||
op = argv[1];
|
op = argv[1];
|
||||||
|
@ -265,6 +265,32 @@ test_expect_success 'internal getpass does not ask for known username' '
|
|||||||
EOF
|
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() {
|
HELPER="!f() {
|
||||||
cat >/dev/null
|
cat >/dev/null
|
||||||
echo username=foo
|
echo username=foo
|
||||||
|
Reference in New Issue
Block a user