Subject: [PATCH 2/2] Allow core.askpass to override SSH_ASKPASS.

From: Knut Franke <[email-masked]>
Date: Fri, 27 Aug 2010 12:51:21 +0200

From: Knut Franke <[email-masked]>

Modify handling of the 'core.askpass' option so that it has the same effect as
GIT_ASKPASS also if SSH_ASKPASS is set.

Signed-off-by: Knut Franke <[email-masked]>
---
I'd say this precedence order is more intuitive; and more useful.

 connect.c |    4 ++++
 git.c     |    3 ---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/connect.c b/connect.c
index e296bfc..f97b84c 100644
--- a/connect.c
+++ b/connect.c
@@ -627,9 +627,13 @@ char *git_getpass(const char *prompt)
 	static struct strbuf buffer = STRBUF_INIT;
 
 	askpass = getenv("GIT_ASKPASS");
+
 	if (!askpass)
 		askpass = askpass_program;
 
+	if (!askpass)
+		askpass = getenv("SSH_ASKPASS");
+
 	if (!askpass || !(*askpass))
 		return getpass(prompt);
 
diff --git a/git.c b/git.c
index 12d2952..1545257 100644
--- a/git.c
+++ b/git.c
@@ -55,9 +55,6 @@ static int handle_options(const char ***argv, int *argc, int 
*envchanged)
 {
 	int handled = 0;
 
-	if (!getenv("GIT_ASKPASS") && getenv("SSH_ASKPASS"))
-		setenv("GIT_ASKPASS", getenv("SSH_ASKPASS"), 1);
-
 	while (*argc > 0) {
 		const char *cmd = (*argv)[0];
 		if (cmd[0] != '-')
-- 
1.7.2.1

-- 
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Dr. Roland Niemeier, 
Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Michel Lepert
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196