perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set

If GIT_ASKPASS environment variable is not set, git-svn does not try to use
SSH_ASKPASS as git-core does. This change adds a fallback to SSH_ASKPASS.

Signed-off-by: Sven Strickroth <email@cs-ware.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Sven Strickroth 2012-12-18 01:28:47 +01:00 коммит произвёл Junio C Hamano
Родитель 38ecf3a35d
Коммит 8f3cab2b4d
1 изменённых файлов: 5 добавлений и 2 удалений

Просмотреть файл

@ -515,8 +515,8 @@ sub html_path { command_oneline('--html-path') }
Query user C<PROMPT> and return answer from user.
Honours GIT_ASKPASS environment variable for querying
the user. If no GIT_ASKPASS variable is set or an error occoured,
Honours GIT_ASKPASS and SSH_ASKPASS environment variables for querying
the user. If no *_ASKPASS variable is set or an error occoured,
the terminal is tried as a fallback.
=cut
@ -527,6 +527,9 @@ sub prompt {
if (exists $ENV{'GIT_ASKPASS'}) {
$ret = _prompt($ENV{'GIT_ASKPASS'}, $prompt);
}
if (!defined $ret && exists $ENV{'SSH_ASKPASS'}) {
$ret = _prompt($ENV{'SSH_ASKPASS'}, $prompt);
}
if (!defined $ret) {
print STDERR $prompt;
STDERR->flush;