threads / patch / 24885

patch, 2 partsAllow core.askpass to override SSH_ASKPASS.

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

## tl;dr

4 messages between Aug 27, 2010 and Aug 27, 2010. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Knut Franke· Aug 27, 2010, 10:51 UTC · lore
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(-)
Show changes to 2 files +4 −3

connect.c, git.c

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 
Erik Faye-Lund· Aug 27, 2010, 12:00 UTC · re: Knut Franke · lore

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

On Fri, Aug 27, 2010 at 12:51 PM, Knut Franke <k.franke@science-computing.de> wrote:

> From: Knut Franke <k.franke@science-computing.de>
>

You don't need this line unless you're forwarding a patch for someone else (or using a different e-mail account).

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

Why are you sending a two-patch series where the second patch tries to correct the first one? Wouldn't it make more sense to squash the two?

Show 17 quoted lines
> 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");
> +
Why?

Apart from these nits, I think the patch does the right thing. IMO it doesn't make sense for SSH_ASKPASS to trump core.askpass.

Knut Franke· Aug 27, 2010, 12:45 UTC · re: Erik Faye-Lund · lore

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

On Friday 27 August 2010 14:00:16 Erik Faye-Lund wrote:
> > From: Knut Franke <k.franke@science-computing.de>
>
> You don't need this line unless you're forwarding a patch for someone
> else (or using a different e-mail account).
ACK.
Show 5 quoted lines
> > Modify handling of the 'core.askpass' option so that it has the same
> > effect as GIT_ASKPASS also if SSH_ASKPASS is set.
>
> Why are you sending a two-patch series where the second patch tries to
> correct the first one? Wouldn't it make more sense to squash the two?

a) The author of the first patch is on holiday, and I didn't want to pass off his work as mine nor my mistakes as his. ;-)

b) Maybe not everyone agrees about the correct order of precedence.
Show 11 quoted lines
> > 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");
> > +
>
> Why?

Considering the check for SSH_ASKPASS added below, I believe this improves legibilty since all of the "if (!askpass..." blocks are similar in intention.

-- 
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 
Junio C Hamano· Aug 27, 2010, 17:28 UTC · re: Knut Franke · lore

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

Knut Franke <k.franke@science-computing.de> writes:
Show 14 quoted lines
>> > 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");
>> > +
>>
>> Why?
>
> Considering the check for SSH_ASKPASS added below, I believe this improves 
> legibilty since all of the "if (!askpass..." blocks are similar in intention.

I think Erik is asking about the extra blank line. You could have achieved the same consistency by removing, no?

Show changes to connect.c +2 −1
diff --git a/connect.c b/connect.c
index e296bfc..f97b84c 100644
--- a/connect.c
+++ b/connect.c
@@ -627,9 +627,10 @@ 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);
 

← back to recent threads