Re: [PATCH 14/15] git-am.sh: replace using expr for arithmetic operations with the equivalent shell builtin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2016-02-04 12:14 GMT+01:00 Johannes Schindelin <Johannes.Schindelin@xxxxxx>:
> Hi Elia,
>
> On Thu, 4 Feb 2016, Elia Pinto wrote:
>
>> -                     this=$(expr "$this" + 1)
>> +                     this=$(( "$this" + 1 ))
>
> Why the funny spaces? We do not do that anywhere in the existing code
> except in three places (2x filter-branch, 1x rebase--interactive, all
> three *not* my fault) and in some tests.
>
> Also, I am *pretty* certain that the quotes break this code:
>
>         me@work MINGW64 /usr/src/git (master)
>         $ this=1
>
>         me@work MINGW64 /usr/src/git (master)
>         $ this=$(( "$this" + 1 ))
>         bash: "1" + 1 : syntax error: operand expected (error token is ""1" + 1 ")
>
> Whereas if you do *not* add the superfluous spaces and quotes, it works:
>
>         me@work MINGW64 /usr/src/git (master)
>         $ this=1
>
>         me@work MINGW64 /usr/src/git (master)
Thanks for noticing.

You are right. I ran the test but did not notice mistakes, my fault.

I will resend. Thanks again.

Best

>         $ this=$(($this+1))
>
>         me@work MINGW64 /usr/src/git (master)
>         $ echo $this
>         2
>
> Maybe this is only a problem with Bash 4.3.42 in MSYS2, but I do not think
> so.
>
> *Clicketyclick*
>
> Nope. It also happens in Ubuntu's Bash 4.3.42:
>
>         me@ubuntu-vm  ~/git (master)
>         $ this=1
>
>         me@ubuntu-vm  ~/git (master)
>         $ this=$(( "$this" + 1 ))
>         bash: "1" + 1 : syntax error: operand expected (error token is ""1" + 1 ")
>
>         me@ubuntu-vm  ~/git (master)
>         $ bash --version
>         GNU bash, version 4.3.42(1)-release (x86_64-pc-linux-gnu)
>         Copyright (C) 2013 Free Software Foundation, Inc.
>         License GPLv3+: GNU GPL version 3 or later
>         <http://gnu.org/licenses/gpl.html>
>
>         This is free software; you are free to change and redistribute it.
>         There is NO WARRANTY, to the extent permitted by law.
>
> ... which makes me wonder in which environment you tested this?
>
> Ciao,
> Dscho
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]