All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Aguilar <davvid@gmail.com>
To: Frank Li <lznuaa@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/1] Use GIT_ASKPASS environment to launch thirdpart UI app to get password
Date: Tue, 23 Feb 2010 21:13:10 -0800	[thread overview]
Message-ID: <20100224051307.GA3232@gmail.com> (raw)
In-Reply-To: <1266923463-2828-1-git-send-email-lznuaa@gmail.com>

On Tue, Feb 23, 2010 at 07:11:03PM +0800, Frank Li wrote:
> Default git-svn read charactor from terminal to get password. GUI will
> wait forever because don't know password need input.

What do you think about this message instead?

-- >8 --
Subject: [PATCH] git-svn: Support retrieving passwords with GIT_ASKPASS

git-svn reads passwords from an interactive terminal.
This behavior causes GUIs to hang waiting for git-svn to
complete.

Fix this problem by allowing a password-retrieving command
to be specified in GIT_ASKPASS.  SSH_ASKPASS is supported
as a fallback when GIT_ASKPASS is not provided.

(see note below)


> diff --git a/git-svn.perl b/git-svn.perl
> index 265852f..f9f104e 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -3966,18 +3966,25 @@ sub username {
>  
>  sub _read_password {
>  	my ($prompt, $realm) = @_;
> -	print STDERR $prompt;
> -	STDERR->flush;
> -	require Term::ReadKey;
> -	Term::ReadKey::ReadMode('noecho');
>  	my $password = '';
> -	while (defined(my $key = Term::ReadKey::ReadKey(0))) {
> -		last if $key =~ /[\012\015]/; # \n\r
> -		$password .= $key;
> +	if (exists $ENV{GIT_ASKPASS}) {
> +		open(PH, "$ENV{GIT_ASKPASS} \"$prompt\" |");
> +		$password = <PH>;
> +		$password =~ s/[\012\015]//; # \n\r
> +		close(PH);

I think Junio mentioned this in passing but I'll repeat it.

Many users already have SSH_ASKPASS defined.  It would be very
nice if we supported SSH_ASKPASS as a fallback when GIT_ASKPASS
is not provided.


-- 
		David

  parent reply	other threads:[~2010-02-24  5:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-23 11:11 [PATCH 1/1] Use GIT_ASKPASS environment to launch thirdpart UI app to get password Frank Li
2010-02-23 23:31 ` Laszlo Papp
2010-02-24  5:13 ` David Aguilar [this message]
2010-02-24  5:31   ` Junio C Hamano
2010-02-24  8:13   ` Frank Li
2010-02-25  9:15     ` David Aguilar
2010-02-25 17:15       ` Laszlo Papp
2010-02-26  0:15       ` Frank Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100224051307.GA3232@gmail.com \
    --to=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=lznuaa@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.