threads / patch / 28613

patchmerge-one-file: fix "expr: non-numeric argument"

Subject: [PATCH] merge-one-file: fix "expr: non-numeric argument"

## tl;dr

2 messages between Oct 6, 2011 and Oct 6, 2011. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Jay Soffian· Oct 6, 2011, 18:25 UTC · lore

When invoking expr to compare two numbers, don't quote the variables which are the output of 'wc -c'. On OS X, this output includes spaces, which expr balks at:

  $ sz0=`wc -c </etc/passwd`
  $ sz1=`wc -c </etc/passwd`
  $ echo "'$sz0'"
  '    3667'
  $ expr "$sz0" \< "$sz1" \* 2
  expr: non-numeric argument
  $ expr $sz0 \< $sz1 \* 2
  1
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
---
Noticed this while working on the CHERRY_PICK_HEAD issue.
 git-merge-one-file.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to git-merge-one-file.sh +1 −1
diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
index 7aeb96952f..f612cb847a 100755
--- a/git-merge-one-file.sh
+++ b/git-merge-one-file.sh
@@ -117,7 +117,7 @@ case "${1:-.}${2:-.}${3:-.}" in
 
 		# If we do not have enough common material, it is not
 		# worth trying two-file merge using common subsections.
-		expr "$sz0" \< "$sz1" \* 2 >/dev/null || : >$orig
+		expr $sz0 \< $sz1 \* 2 >/dev/null || : >$orig
 		;;
 	*)
 		echo "Auto-merging $4"
-- 
1.7.7.144.gbfcf9.dirty

← back to recent threads