Re: [PATCH v2 1/3] shell prompt: add bash.showUntrackedFiles option
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:56:09
Martin Erik Werner [off-list ref] writes:
quoted hunk
Add a config option 'bash.showUntrackedFiles' which allows enabling the prompt showing untracked files on a per-repository basis. This is useful for some repositories where the 'git ls-files ...' command may take a long time. Signed-off-by: Martin Erik Werner <redacted> --- contrib/completion/git-prompt.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh index 9bef053..9b2eec2 100644 --- a/contrib/completion/git-prompt.sh +++ b/contrib/completion/git-prompt.sh@@ -43,7 +43,10 @@ # # If you would like to see if there're untracked files, then you can set # GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked -# files, then a '%' will be shown next to the branch name. +# files, then a '%' will be shown next to the branch name. You can +# configure this per-repository with the bash.showUntrackedFiles +# variable, which defaults to true once GIT_PS1_SHOWUNTRACKEDFILES is +# enabled. # # If you would like to see the difference between HEAD and its upstream, # set GIT_PS1_SHOWUPSTREAM="auto". A "<" indicates you are behind, ">"@@ -332,8 +335,10 @@ __git_ps1 () fi if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then - if [ -n "$(git ls-files --others --exclude-standard)" ]; then - u="%" + if [ "$(git config --bool bash.showUntrackedFiles)" != "false" ]; then + if [ -n "$(git ls-files --others --exclude-standard)" ]; then + u="%" + fi fi fi
Somebody should simplify this deeply nested "if/then/if/then/fi/fi"
sequence to a single if/then/fi statement, i.e. something like:
if test -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" &&
test "$(git config --bool bash.showUntrackedFiles)" != false
then
u='%'
fi
And do the same for the other one this patch copies the above from.
No need to re-roll this patch, though. It is a separate clean-up to
be done on top, once this series is settles.
Thanks.