[PATCH 2/2] Allow core.askpass to override SSH_ASKPASS.
- From
- Knut Franke <k.franke@science-computing.de>
- Date
- Aug 27, 2010, 10:51 UTC
- Message-ID
- <201008271251.23136.k.franke@science-computing.de>
From: Knut Franke <k.franke@science-computing.de>
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> --- 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