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 e296bfca1896b432376ea98cf92db46d7120a062..3450cabd0e3281e0eeedeb35d331b95bf95f5afb 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;
-
+       if (!askpass)
+               askpass = getenv("SSH_ASKPASS");
        if (!askpass || !(*askpass))
                return getpass(prompt);
 
diff --git a/git.c b/git.c
index 17538117a5ccfd48129a873697d8674e86f512f5..19a93fb9a2b5a95750154ebe352a43435ad1b47c 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;
 
-       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] != '-')