diff options
-rw-r--r-- | Documentation/git.txt | 4 | ||||
-rw-r--r-- | prompt.c | 16 |
2 files changed, 16 insertions, 4 deletions
diff --git a/Documentation/git.txt b/Documentation/git.txt index 5627845114..72b6a2df14 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -901,6 +901,10 @@ for further details. and read the password from its STDOUT. See also the 'core.askpass' option in linkgit:git-config[1]. +'GIT_TERMINAL_PROMPT':: + If this environment variable is set to `0`, git will not prompt + on the terminal (e.g., when asking for HTTP authentication). + 'GIT_CONFIG_NOSYSTEM':: Whether to skip reading settings from the system-wide `$(prefix)/etc/gitconfig` file. This environment variable can @@ -58,11 +58,19 @@ char *git_prompt(const char *prompt, int flags) r = do_askpass(askpass, prompt); } - if (!r) - r = git_terminal_prompt(prompt, flags & PROMPT_ECHO); if (!r) { - /* prompts already contain ": " at the end */ - die("could not read %s%s", prompt, strerror(errno)); + const char *err; + + if (git_env_bool("GIT_TERMINAL_PROMPT", 1)) { + r = git_terminal_prompt(prompt, flags & PROMPT_ECHO); + err = strerror(errno); + } else { + err = "terminal prompts disabled"; + } + if (!r) { + /* prompts already contain ": " at the end */ + die("could not read %s%s", prompt, err); + } } return r; } |