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

Re: git-prompt.sh vs leading white space in __git_ps1()::printf_format

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 11, 2012, 23:04 UTC
Message-ID
<7v7goo6vi3.fsf@alter.siamese.dyndns.org>
In-Reply-To
<50C7B811.7030006@xs4all.nl>
Simon Oosthoek <s.oosthoek@xs4all.nl> writes:
> This patch for the documentation doesn't seem to be in rc2 of 1.8.1...

There wasn't any patch, and after sending "something like this" I forgot about the topic, as usual.

> The current tagged 1.8.1-rc2 doesn't yet have your improvement and after
> trying to explain it, I think it should be improved even more ;-)

I am not sure what "my improvement" you are refering to. Is it only about how the usage appears in the comment?

Perhaps like this? I think the straight-forward one should be listed as the primary usage, and the confusing one should be an alternate for advanced users, so 3a/3b have been swapped.

 contrib/completion/git-prompt.sh | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)
diff --git i/contrib/completion/git-prompt.sh w/contrib/completion/git-prompt.sh
index 00fc099..899eb09 100644
--- i/contrib/completion/git-prompt.sh
+++ w/contrib/completion/git-prompt.sh
@@ -10,14 +10,20 @@
 #    1) Copy this file to somewhere (e.g. ~/.git-prompt.sh).
 #    2) Add the following line to your .bashrc/.zshrc:
 #        source ~/.git-prompt.sh
-#    3a) In ~/.bashrc set PROMPT_COMMAND=__git_ps1
-#        To customize the prompt, provide start/end arguments
-#        PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "'
-#    3b) Alternatively change your PS1 to call __git_ps1 as
+#    3a) Change your PS1 to call __git_ps1 as
 #        command-substitution:
 #        Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
 #        ZSH:  PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '
-#        the optional argument will be used as format string
+#        the optional argument will be used as format string.
+#    3b) Alternatively, if you are using bash, __git_ps1 can be
+#        used for PROMPT_COMMAND with two parameters, <pre> and
+#        <post>, which are strings you would put in $PS1 before
+#        and after the status string generated by the git-prompt
+#        machinery.  e.g.
+#           PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "'
+#        will show username, at-sign, host, colon, cwd, then
+#        various status string, followed by dollar and SP, as
+#        your prompt.
 #
 # The argument to __git_ps1 will be displayed only if you are currently
 # in a git repository.  The %s token will be the name of the current
Previous: Simon OosthoekNext: Junio C Hamano
Message 7 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.