# Re: [msysGit] git-svn.perl should check GIT_ASKPASS environment

4 messages from 2011-02-11 to 2011-02-11. Participants: Erik Faye-Lund, Frank Li.
Thread: https://gitlist.dev/t/26471

## Erik Faye-Lund, 2011-02-11 09:25

Subject: Re: [msysGit] git-svn.perl should check GIT_ASKPASS environment
Message-ID: <AANLkTinkv0dNxNxehud0Byuu9tpqxp1kBMJ1OyEcfVQ_@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTinkv0dNxNxehud0Byuu9tpqxp1kBMJ1OyEcfVQ_%40mail.gmail.com
In-Reply-To: <1c47e93c-5b7c-4aed-8a78-807d3aff2700@n36g2000pre.googlegroups.com>

```
On Fri, Feb 11, 2011 at 9:17 AM, Jose Roberto Garcia Chico
<jose@toro-asia.com> wrote:
> git-svn.perl problem.
>
> prompt:
>        print STDERR $may_save ?
>              "(R)eject, accept (t)emporarily or accept (p)ermanently? " :
>              "(R)eject or accept (t)emporarily? ";
>        STDERR->flush;
>        $choice = lc(substr(<STDIN> || 'R', 0, 1));
>
> should check GIT_ASKPASS environment.
>
> For further information
>
> http://code.google.com/p/tortoisegit/issues/detail?id=706
>

As was already said in the thread you're linking to, this isn't a
Windows-specific git-issue. CC'ing the main Git mailing list, where
this discussion belongs.

But I don't think it should check GIT_ASKPASS, GIT_ASKPASS isn't a
general-purpose dialog-box hook, it's a hook for getting *passwords*.
To allow git-svn to query the user of a non-terminal user, another
mechanism would probably be created. But in any case, I we should do
something other than just waiting if we're not connected to a TTY. I
don't really know Perl that well, but perhaps something like this does
the trick?

diff --git a/git-svn.perl b/git-svn.perl
index 177dd25..24f3486 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -3964,6 +3964,9 @@ sub ssl_server_trust {
 	                               issuer_dname fingerprint);
 	my $choice;
 prompt:
+	if (!-t STDERR || !-t STDIN) {
+		return -1;
+	}
 	print STDERR $may_save ?
 	      "(R)eject, accept (t)emporarily or accept (p)ermanently? " :
 	      "(R)eject or accept (t)emporarily? ";

```

## Frank Li, 2011-02-11 09:37

Subject: Re: [msysGit] git-svn.perl should check GIT_ASKPASS environment
Message-ID: <AANLkTik9mFNsqFQn5SEZkYd_uxDeoY-9nqgV_PJ+nNsi@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTik9mFNsqFQn5SEZkYd_uxDeoY-9nqgV_PJ%2BnNsi%40mail.gmail.com
In-Reply-To: <AANLkTinkv0dNxNxehud0Byuu9tpqxp1kBMJ1OyEcfVQ_@mail.gmail.com>

```
> But I don't think it should check GIT_ASKPASS, GIT_ASKPASS isn't a
> general-purpose dialog-box hook, it's a hook for getting *passwords*.
> To allow git-svn to query the user of a non-terminal user, another
> mechanism would probably be created. But in any case, I we should do
> something other than just waiting if we're not connected to a TTY. I
> don't really know Perl that well, but perhaps something like this does
> the trick?
>

SSH_ASKPASS is used to accept "Enter your OpenSSH passphrase".
refer to git-gui/git-gui--askpass

GIT_ASKPASS should be similar with SSH_ASKPASS.
git-svn can use GIT_ASKPASS hook to launch third part application to
accept certification.

```

## Erik Faye-Lund, 2011-02-11 10:28

Subject: Re: [msysGit] git-svn.perl should check GIT_ASKPASS environment
Message-ID: <AANLkTinWLTfU_WmxTCvz+P=rcXY=2u25Eo2QZWmDMdSh@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTinWLTfU_WmxTCvz%2BP%3DrcXY%3D2u25Eo2QZWmDMdSh%40mail.gmail.com
In-Reply-To: <AANLkTik9mFNsqFQn5SEZkYd_uxDeoY-9nqgV_PJ+nNsi@mail.gmail.com>

```
On Fri, Feb 11, 2011 at 10:37 AM, Frank Li <lznuaa@gmail.com> wrote:
>> But I don't think it should check GIT_ASKPASS, GIT_ASKPASS isn't a
>> general-purpose dialog-box hook, it's a hook for getting *passwords*.
>> To allow git-svn to query the user of a non-terminal user, another
>> mechanism would probably be created. But in any case, I we should do
>> something other than just waiting if we're not connected to a TTY. I
>> don't really know Perl that well, but perhaps something like this does
>> the trick?
>>
>
> SSH_ASKPASS is used to accept "Enter your OpenSSH passphrase".
> refer to git-gui/git-gui--askpass
>

git-gui--askpass can ask for a password, or yes/no questions. But this
is neither, it's a reject/accept temporary/accept permanently
question.

Perhaps the prompt could be rewritten as two yes/no questions, though?
Something like "Accept certificate? (yes/no)" and if the answer is
"yes", query with something like "Store certificate? (yes/no)".
Dunno...

```

## Frank Li, 2011-02-11 11:34

Subject: Re: [msysGit] git-svn.perl should check GIT_ASKPASS environment
Message-ID: <AANLkTim3fdevQYuE5R12D0b-AxVKaksPWDcMUedG-t6+@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTim3fdevQYuE5R12D0b-AxVKaksPWDcMUedG-t6%2B%40mail.gmail.com
In-Reply-To: <AANLkTinWLTfU_WmxTCvz+P=rcXY=2u25Eo2QZWmDMdSh@mail.gmail.com>

```
>> SSH_ASKPASS is used to accept "Enter your OpenSSH passphrase".
>> refer to git-gui/git-gui--askpass
>>
>
> git-gui--askpass can ask for a password, or yes/no questions. But this
> is neither, it's a reject/accept temporary/accept permanently
> question.
>
> Perhaps the prompt could be rewritten as two yes/no questions, though?
> Something like "Accept certificate? (yes/no)" and if the answer is
> "yes", query with something like "Store certificate? (yes/no)".

I think that's fine.
Frank Li

```
