Subject: Re: [PATCH 0/3] Fix $((...)) coding style

From: John Keeping <[email-masked]>
Date: Thu, 4 Feb 2016 12:14:37 +0000

On Thu, Feb 04, 2016 at 01:01:39PM +0100, Johannes Schindelin wrote:
> I noticed through a nearby patch series that was submitted by Elia that
> some of the $((...)) expressions introduced in scripts that I introduced
> to Git's source code did not match the existing code's convention:
> previously these expressions did not contain any spaces, now *some* do.
> 
> This patch series tries to clean that up quickly before even more code
> has to decide which one of the disagreeing coding conventions to use.
> 
> Note: For the sake of getting this patch series out, I skipped t/ and
> contrib/. I do not care much about the latter, but t/ should probably be
> fixed, too.

Should this be going this other way (i.e. standardising on having the
spaces)?

The current state (excluding contrib/ and t/) seems to favour spaces:

$ git grep '\$((' -- ':/' ':!t/' ':!contrib/'
Documentation/CodingGuidelines: - We use Arithmetic Expansion $(( ... )).
Documentation/CodingGuidelines:   of them, as some shells do not grok $((x)) while accepting $(($x))
generate-cmdlist.sh:    n=$(($n+1))
git-filter-branch.sh:           elapsed=$(($now - $start_timestamp))
git-filter-branch.sh:           remaining=$(( ($commits - $count) * $elapsed / $count ))
git-filter-branch.sh:                   next_sample_at=$(( ($elapsed + 1) * $count / $elapsed ))
git-filter-branch.sh:                   next_sample_at=$(($next_sample_at + 1))
git-filter-branch.sh:   git_filter_branch__commit_count=$(($git_filter_branch__commit_count+1))
git-rebase--interactive.sh:     total=$(($new_count + $(git stripspace --strip-comments <"$todo" | wc -l)))
git-rebase--interactive.sh:             count=$(($(sed -n \
git-rebase--interactive.sh:             lineno=$(( $lineno + 1 ))
git-rebase--merge.sh:   msgnum=$(($msgnum + 1))
git-rebase--merge.sh:   eval GITHEAD_$cmt='"${cmt_name##refs/heads/}~$(($end - $msgnum))"'
git-rebase--merge.sh:   msgnum=$(($msgnum + 1))
git-rebase--merge.sh:   msgnum=$(($msgnum + 1))
git-submodule.sh:       n=$(($1 + 0)) 2>/dev/null && test "$n" = "$1"
git-submodule.sh:                       total_commits=" ($(($total_commits + 0)))"

I make that 3 without spaces (including the git-rebase--interactive.sh
case that wraps) and 12 that do have spaces around operators.  Using
spaces around operators also matches our C coding style.