Simon Oosthoek <> writes:

> The problem with doing it in pre-post is when inside non-git
> directories. You want to avoid any gitstring output, including the
> brackets, when not inside a repository.

Ah, Ok, that is probably what I missed.

>> 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?
> But how to determine which mode to use?
> In pcmode, you must set the PS1, in command-subsitute mode, you must print a 
> formatted gitstring.

The point of the above two was that __git_ps1 does not have to set
PS1 as long as the insn says user to use PROMPT_COMMAND that sets
PS1 himself, exactly as illustrated above.  In other words, replace
the last PS1=...  in the "prompt command" mode with an echo or
something and make the user responsible for assigning it to PS1 in

Or put it in another way, I was hoping that we can do without adding
the prompt command mode---if there is no two modes, there is no need
to switch between them.

But as I said, there probably is a reason why that approach does not
work, that is why I said...

>> I have a feeling that I am missing something major, though...
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to