GIT_TERMINAL_PROMPT environment variable isn't honored properly
- From
Ondrej Pohorelsky <opohorel@redhat.com>
- Date
- Jun 29, 2021, 13:46 UTC
- Message-ID
- <CA+B51BHBoDn+xFXOXWe0SvRzzuPo+YYj63f0dyafJELbBTgGbw@mail.gmail.com>
Hi, we've run into an issue when running git as part of an automated system.
When you set the GIT_TERMINAL_PROMPT environment variable as 0 you expect git to die instead of trying to issue a prompt on the terminal.
$ GIT_TERMINAL_PROMPT=0 $ echo $GIT_TERMINAL_PROMPT 0 $ git clone https://github.com/some/non-existent-repo Cloning into 'non-existent-repo'... Username for 'https://github.com':
You get expected behaviour only when you set the GIT_TERMINAL_PROMPT variable just before you run git clone.
$ GIT_TERMINAL_PROMPT=0 git clone https://github.com/some/non-existent-repo Cloning into 'non-existent-repo'... fatal: could not read Username for 'https://github.com': terminal prompts disabled
I've tested this issue on Fedora 34 with git-2.32.0 and Ubuntu 20.10 with git-2.27.0 and I successfully reproduced this bug. Sadly I didn't manage to figure out why this is happening, that's why I'm only filling a bug.
This variable was introduced in commit "e652c0eb5d772076f92245c7e076bf6aaf6af223" by Jeff King, that's why I'm adding him to CC.
Best regards, Ondřej Pohořelský