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]

 



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)
	$ 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]