Skip to contentSkip to conversation

credential: load default config

PATCH In review Thomas Koutcher via GitGitGadget 3 participants 3 messages Oct 15, 2020 – Oct 16, 2020

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 credential: load default config

From: Thomas Koutcher <[email protected]>

Make git credential fill honour the core.askPass variable.

---
credential: load default config

Make git credential fill honour the core.askPass variable.

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(+)
builtin/credential.c +3 -0
index 879acfbcda..d75dcdc64a 100644
@@ -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];

base-commit: 47ae905ffb98cc4d4fd90083da6bc8dab55d9ecc

Signature · 1 line
gitgitgadget
#1 lore raw
Quoted 1 line · Thomas Koutcher via GitGitGadget

Make git credential fill honour the core.askPass variable.

Thanks, I agree this make sense to do.

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

Perhaps it's worth squashing in this test?

t/t0300-credentials.sh +26 -0
index bc2d74098f..a18f8a473b 100755
@@ -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
#2 lore raw

Le 16/10/2020 à 03:04, Jeff King a écrit :

Quoted 1 line

Perhaps it's worth squashing in this test?

Definitely, thanks for adding the test, Peff !