diff mbox series

credential: load default config

Message ID pull.881.git.git.1602799160623.gitgitgadget@gmail.com (mailing list archive)
State New, archived
Headers show
Series credential: load default config | expand

Commit Message

Thomas Koutcher Oct. 15, 2020, 9:59 p.m. UTC
From: Thomas Koutcher <thomas.koutcher@online.fr>

Make `git credential fill` honour the core.askPass variable.

Signed-off-by: Thomas Koutcher <thomas.koutcher@online.fr>
---
    credential: load default config
    
    Make git credential fill honour the core.askPass variable.
    
    Signed-off-by: Thomas Koutcher thomas.koutcher@online.fr
    [thomas.koutcher@online.fr]

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-881%2Fkoutcher%2Fmaint-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-881/koutcher/maint-v1
Pull-Request: https://github.com/git/git/pull/881

 builtin/credential.c | 3 +++
 1 file changed, 3 insertions(+)


base-commit: 47ae905ffb98cc4d4fd90083da6bc8dab55d9ecc

Comments

Jeff King Oct. 16, 2020, 1:04 a.m. UTC | #1
On Thu, Oct 15, 2020 at 09:59:20PM +0000, Thomas Koutcher via GitGitGadget wrote:

> Make `git credential fill` honour the core.askPass variable.

Thanks, I agree this make sense to do.

>  builtin/credential.c | 3 +++
>  1 file changed, 3 insertions(+)

Perhaps it's worth squashing in this test?

diff --git a/t/t0300-credentials.sh b/t/t0300-credentials.sh
index bc2d74098f..a18f8a473b 100755
--- a/t/t0300-credentials.sh
+++ b/t/t0300-credentials.sh
@@ -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
Thomas Koutcher Oct. 16, 2020, 8:39 p.m. UTC | #2
Le 16/10/2020 à 03:04, Jeff King a écrit :

> Perhaps it's worth squashing in this test?

Definitely, thanks for adding the test, Peff !
diff mbox series

Patch

diff --git a/builtin/credential.c b/builtin/credential.c
index 879acfbcda..d75dcdc64a 100644
--- a/builtin/credential.c
+++ b/builtin/credential.c
@@ -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];