Allow core.askpass to override SSH_ASKPASS.
authorKnut Franke <k.franke@science-computing.de>
Mon, 30 Aug 2010 13:39:38 +0000 (15:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 31 Aug 2010 17:49:17 +0000 (10:49 -0700)
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 <k.franke@science-computing.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
connect.c
git.c

index e296bfc..3450cab 100644 (file)
--- a/connect.c
+++ b/connect.c
@@ -629,7 +629,8 @@ char *git_getpass(const char *prompt)
        askpass = getenv("GIT_ASKPASS");
        if (!askpass)
                askpass = askpass_program;
        askpass = getenv("GIT_ASKPASS");
        if (!askpass)
                askpass = askpass_program;
-
+       if (!askpass)
+               askpass = getenv("SSH_ASKPASS");
        if (!askpass || !(*askpass))
                return getpass(prompt);
 
        if (!askpass || !(*askpass))
                return getpass(prompt);
 
diff --git a/git.c b/git.c
index 1753811..19a93fb 100644 (file)
--- a/git.c
+++ b/git.c
@@ -55,9 +55,6 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
 {
        int handled = 0;
 
 {
        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] != '-')
        while (*argc > 0) {
                const char *cmd = (*argv)[0];
                if (cmd[0] != '-')