git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] prompt: respect GIT_TERMINAL_PROMPT to disable terminal prompts

From
Jeff King <peff@peff.net>
Date
Dec 4, 2014, 21:01 UTC
Message-ID
<20141204210149.GB19953@peff.net>
In-Reply-To
<xmqqy4qntgs6.fsf@gitster.dls.corp.google.com>
On Thu, Dec 04, 2014 at 10:24:09AM -0800, Junio C Hamano wrote:
Show 34 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > diff --git a/prompt.c b/prompt.c
> > index e5b4938..8181eeb 100644
> > --- a/prompt.c
> > +++ b/prompt.c
> > @@ -57,11 +57,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;
> >  }
> 
> I wish this covered a lot more than just this part from an
> end-user's point of view, but this is definitely one of the most
> important code paths the mechanism should cover.

Which parts do you mean? Stuff like "git add -i"? I agree it might be nice to turn that off, but it is a little bit of a different beast, in that it reads from stdin. The git_prompt code is unique in accessing /dev/tty directly, which makes it hard to shut off.

I don't know of any other code in git that (and it is used in many spots due to calls into the credential_fill code).

I suspect there's similar code in git-svn that comes from the svn library, and it might be nice to cover that, too.

Anyway, I'm happy to give other prompts the same treatment, but I think we can wait and add them as they are noticed.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 14 of 17 in “Disabling credential helper?”
  1. brian m. carlsonDec 3, 2014
  2. Jonathan NiederDec 3, 2014
  3. Jeff KingDec 3, 2014
  4. Jonathan NiederDec 3, 2014
  5. Jeff KingDec 3, 2014
  6. Jeff KingDec 4, 2014
  7. Junio C HamanoDec 4, 2014
  8. Junio C HamanoDec 3, 2014
  9. brian m. carlsonDec 4, 2014
  10. 0/2 disabling terminal promptsJeff King, Dec 4, 2014
  11. 1/2 credential: let helpers tell us to quitJeff King, Dec 4, 2014
  12. 2/2 prompt: respect GIT_TERMINAL_PROMPT to disable terminal promptsJeff King, Dec 4, 2014
  13. Junio C HamanoDec 4, 2014
  14. Jeff KingDec 4, 2014
  15. Junio C HamanoDec 4, 2014
  16. Jeff KingDec 5, 2014
  17. Junio C HamanoDec 5, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.