Re: [PATCH] honour GIT_ASKPASS for querying username in git-svn
- From
- Sven Strickroth <sven.strickroth@tu-clausthal.de>
- Date
- Nov 26, 2011, 11:33 UTC
- Message-ID
- <4ED0CE8B.70205@tu-clausthal.de>
- In-Reply-To
- <CABPQNSbfM0JRVPk3fxfSEq7QaO-fynHM8FBGpPribdgeRqpZKA@mail.gmail.com>
Hi,
there's also another point where git-svn doesn't honour GIT_ASKPASS:
>From 632c264d0de127c35fbe45866ed81e832f357d56 Mon Sep 17 00:00:00 2001
From: Sven Strickroth <email@cs-ware.de> Date: Sat, 26 Nov 2011 12:01:19 +0100 Subject: [PATCH] honour GIT_ASKPASS for querying further actions on unknown certificates
git-svn reads user answers from an interactive terminal. This behavior cause GUIs to hang waiting for git-svn to complete.
Signed-off-by: Sven Strickroth <email@cs-ware.de> --- git-svn.perl | 9 +++++++++-- 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl index e30df22..d7aeb11 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -4361,7 +4361,14 @@ prompt: "(R)eject, accept (t)emporarily or accept (p)ermanently? " : "(R)eject or accept (t)emporarily? "; STDERR->flush; - $choice = lc(substr(<STDIN> || 'R', 0, 1)); + if (exists $ENV{GIT_ASKPASS}) { + print STDERR "\n"; + open(PH, "-|", $ENV{GIT_ASKPASS}, "Certificate unknown"); + $choice = lc(substr(<PH> || 'R', 0, 1)); + close(PH); + } else { + $choice = lc(substr(<STDIN> || 'R', 0, 1)); + } if ($choice =~ /^t$/i) { $cred->may_save(undef); } elsif ($choice =~ /^r$/i) {
-- 1.7.7.1.msysgit.0 -- Best regards, Sven Strickroth ClamAV, a GPL anti-virus toolkit http://www.clamav.net PGP key id F5A9D4C4 @ any key-server