From: =?UTF-8?q?Jaros=C5=82aw=20Honkis?= <[email protected]>

When a user is asked for credentials there is no need to mask the
username, so the PROMPT_ASKPASS flag on calling credential_ask_one for
login is unnecessary.

The `credential_ask_one()` function internally uses `git_prompt()` which
in case it is given the flag PROMPT_ASKPASS uses masked input method
instead of git_terminal_prompt, which does not mask user input.

This fixes https://github.com/git-for-windows/git/issue/675

Signed-off-by: Jarosław Honkis <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
---
 credential.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/credential.c b/credential.c
index 62be651b03..e9108a9e8a 100644
--- a/credential.c
+++ b/credential.c
@@ -136,7 +136,9 @@ static void credential_getpass(struct credential *c)
 {
        if (!c->username)
                c->username = credential_ask_one("Username", c,
-                                                PROMPT_ASKPASS|PROMPT_ECHO);
+                                                (getenv("GIT_ASKPASS") ?
+                                                 PROMPT_ASKPASS : 0) |
+                                                PROMPT_ECHO);
        if (!c->password)
                c->password = credential_ask_one("Password", c,
                                                 PROMPT_ASKPASS);
-- 
gitgitgadget

Reply via email to