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

Re: [PATCH] make __git_ps1 accept a third parameter in pcmode

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 26, 2012, 19:45 UTC
Message-ID
<7vmwx0oavn.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20121226191505.GA29210@simaj.xs4all.nl>
Simon Oosthoek <s.oosthoek@xs4all.nl> writes:
Show 7 quoted lines
> The optional third parameter when __git_ps1 is used in
> PROMPT_COMMAND mode as format string for printf to further
> customize the way the git status string is embedded in the
> user's PS1 prompt.
>
> Signed-off-by: Simon Oosthoek <s.oosthoek@xs4all.nl>
> ---
Thanks.

If we do not care about the existing users (and in this case, because PROMPT_COMMAND mode is in no released version, we could declare there is no existing user), another and simpler approach is to just drop " (" and ")" altogether and have the user give these as part of the pre/post strings.

Or we could go the other way and drop "pre/post" strings, making them part of the printf_format string. Perhaps that might be a better interface in the longer term. Then people can use the same "<pre>%s<post>" format string and do either of these:

	PS1=$(__git_ps1 "<pre>%s<post>")
	PROMPT_COMMAND='PS1=$(__git_ps1 "<pre>%s<post>")'
without __git_ps1 having a special "prompt command" mode, no?
I have a feeling that I am missing something major, though...
>  				if [ "$w" = "*" ]; then
> -					PS1="$PS1\[$bad_color\]$w"
> +					gitstring="$gitstring\[$bad_color\]$w"
>  				fi

Every time I looked at this line, I wondered why '*' state is "bad". Does a user go into any "bad" state by having a dirty working tree? Same for untracked ($u) and detached. These are all perfectly normal part of a workflow, so while choice of red may be fine to attract attention, calling it "bad" sounds misguided.

Previous: Simon OosthoekNext: Simon Oosthoek
Message 15 of 20 in “Re: git-prompt.sh vs leading white space in __git_ps1()::printf_format”
  1. Simon OosthoekNov 28, 2012
  2. Piotr KrukowieckiNov 28, 2012
  3. Simon OosthoekNov 28, 2012
  4. Junio C HamanoNov 28, 2012
  5. Simon OosthoekNov 28, 2012
  6. Simon OosthoekDec 11, 2012
  7. Junio C HamanoDec 11, 2012
  8. Junio C HamanoDec 12, 2012
  9. Simon OosthoekDec 12, 2012
  10. Junio C HamanoDec 12, 2012
  11. Simon OosthoekDec 12, 2012
  12. Junio C HamanoDec 26, 2012
  13. Simon OosthoekDec 26, 2012
  14. make __git_ps1 accept a third parameter in pcmodeSimon Oosthoek, Dec 26, 2012
  15. Junio C HamanoDec 26, 2012
  16. Simon OosthoekDec 26, 2012
  17. Junio C HamanoDec 26, 2012
  18. Junio C HamanoDec 26, 2012
  19. Simon OosthoekDec 26, 2012
  20. Junio C HamanoDec 26, 2012

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.