git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Erik Werner <martinerikwerner@gmail.com>
To: Simon vanaf Telefoon <s.oosthoek@xs4all.nl>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	gitster@pobox.com, git@vger.kernel.org,
	trsten@science-computing.de,
	Felipe Contreras <felipe.contreras@gmail.com>
Subject: Re: [PATCH] shell-prompt: clean up nested if-then
Date: Mon, 18 Feb 2013 23:56:46 +0100	[thread overview]
Message-ID: <1361228206.17734.4.camel@mas> (raw)
In-Reply-To: <0c94f24b-f7ee-4699-87a7-6861b927cea4@email.android.com>


On Mon, 2013-02-18 at 21:31 +0100, Simon vanaf Telefoon wrote:
> Hi all, sorry for top posting :-( blame the phone and k9
> 
> I have a small issue with the use of test instead of [
> If that only applies to this section of the entire file. 
> Coding style has some value.
> 
> Combining nested ifs with && seems harmless enough, though should be
> well tested.
> 
> Cheers
> Simon 
> 

Ah, indeed, I looked around a bit more, and as per
http://mywiki.wooledge.org/BashPitfalls it seems like 'test' is bad to use with multiple &&'s anyways.

I've changed to using [] && [] and rerolled the patch.


> Jonathan Nieder <jrnieder@gmail.com> wrote:
>         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>

Meh, I keep on missing that :/
Old (and new) patch is:
Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>

>         
>         Patch left unsnipped for reference.
>         
>                 ---
>                 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
>                 -- 
> 

  parent reply	other threads:[~2013-02-18 22:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1361204512.4758.10.camel@mas>
2013-02-18 16:23 ` [PATCH] shell-prompt: clean up nested if-then Martin Erik Werner
2013-02-18 19:10   ` Jonathan Nieder
     [not found]     ` <0c94f24b-f7ee-4699-87a7-6861b927cea4@email.android.com>
2013-02-18 22:56       ` Martin Erik Werner [this message]
2013-02-18 22:59         ` [PATCH v2] " martinerikwerner
2013-02-18 23:28           ` Jonathan Nieder
2013-02-18 23:07         ` [PATCH] " Junio C Hamano
2013-02-19  8:17           ` Simon Oosthoek
2013-02-19 16:28             ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1361228206.17734.4.camel@mas \
    --to=martinerikwerner@gmail.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=s.oosthoek@xs4all.nl \
    --cc=trsten@science-computing.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).