Re: [PATCH] shell-prompt: clean up nested if-then
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Feb 18, 2013, 19:10 UTC
- Message-ID
- <20130218191040.GB3234@elie.Belkin>
- In-Reply-To
- <1361204601-4573-1-git-send-email-martinerikwerner@gmail.com>
Hi Martin,
Martin Erik Werner wrote:
> Minor clean up of if-then nesting in checks for environment variables > and config options. No functional changes.
Yeah, the nesting was getting a little deep. Thanks for the cleanup. May we have your sign-off?
Once this is signed off, Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Patch left unsnipped for reference.
Show 49 quoted lines
> ---
> contrib/completion/git-prompt.sh | 27 +++++++++++++--------------
> 1 file changed, 13 insertions(+), 14 deletions(-)
>
> diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
> index 9b2eec2..e29694d 100644
> --- a/contrib/completion/git-prompt.sh
> +++ b/contrib/completion/git-prompt.sh
> @@ -320,26 +320,25 @@ __git_ps1 ()
> b="GIT_DIR!"
> fi
> elif [ "true" = "$(git rev-parse --is-inside-work-tree 2>/dev/null)" ]; then
> - if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ]; then
> - if [ "$(git config --bool bash.showDirtyState)" != "false" ]; then
> - git diff --no-ext-diff --quiet --exit-code || w="*"
> - if git rev-parse --quiet --verify HEAD >/dev/null; then
> - git diff-index --cached --quiet HEAD -- || i="+"
> - else
> - i="#"
> - fi
> + if test -n "${GIT_PS1_SHOWDIRTYSTATE-}" &&
> + test "$(git config --bool bash.showDirtyState)" != "false"
> + then
> + git diff --no-ext-diff --quiet --exit-code || w="*"
> + if git rev-parse --quiet --verify HEAD >/dev/null; then
> + git diff-index --cached --quiet HEAD -- || i="+"
> + else
> + i="#"
> fi
> fi
> if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ]; then
> git rev-parse --verify refs/stash >/dev/null 2>&1 && s="$"
> fi
>
> - if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then
> - if [ "$(git config --bool bash.showUntrackedFiles)" != "false" ]; then
> - if [ -n "$(git ls-files --others --exclude-standard)" ]; then
> - u="%"
> - fi
> - fi
> + if test -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" &&
> + test "$(git config --bool bash.showUntrackedFiles)" != "false" &&
> + test -n "$(git ls-files --others --exclude-standard)"
> + then
> + u="%"
> fi
>
> if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then
> --