git-core: Support retrieving passwords with GIT_ASKPASS

git tries to read a password from the terminal in imap-send and
when talking to a http server that requires authentication.

When a GUI is driving git, however, the end user is not paying
attention to the terminal (there may not even be a terminal).
GUI would appear to hang forever.

Fix this problem by allowing a password-retrieving command
to be specified in GIT_ASKPASS

Signed-off-by: Frank Li <lznuaa@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Frank Li
2010-03-04 20:59:50 +01:00
committed by Junio C Hamano
parent 56a853b62c
commit f206063b4b
4 changed files with 41 additions and 3 deletions

View File

@ -1107,7 +1107,7 @@ static struct store *imap_open_store(struct imap_server_conf *srvc)
if (!srvc->pass) {
char prompt[80];
sprintf(prompt, "Password (%s@%s): ", srvc->user, srvc->host);
arg = getpass(prompt);
arg = git_getpass(prompt);
if (!arg) {
perror("getpass");
exit(1);