[PATCH] Fix expr usage for FreeBSD
From: Dennis Stosberg <hidden>
Date: 2016-06-15 22:42:31
Subsystem:
the rest · Maintainer:
Linus Torvalds
Some implementations of "expr" (e.g. FreeBSD's) fail, if an argument starts with a dash. Signed-off-by: Dennis Stosberg <redacted> --- git-am.sh | 2 +- git-clone.sh | 2 +- git-commit.sh | 18 +++++++++--------- git-merge.sh | 2 +- git-pull.sh | 2 +- git-quiltimport.sh | 4 ++-- git-rebase.sh | 2 +- 7 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/git-am.sh b/git-am.sh
index 4232e27..679045a 100755
--- a/git-am.sh
+++ b/git-am.sh@@ -97,7 +97,7 @@ while case "$#" in 0) break;; esac do case "$1" in -d=*|--d=*|--do=*|--dot=*|--dote=*|--dotes=*|--dotest=*) - dotest=`expr "$1" : '-[^=]*=\(.*\)'`; shift ;; + dotest=`expr "z$1" : 'z-[^=]*=\(.*\)'`; shift ;; -d|--d|--do|--dot|--dote|--dotes|--dotest) case "$#" in 1) usage ;; esac; shift dotest="$1"; shift;;
diff --git a/git-clone.sh b/git-clone.sh
index 6fa0daa..6a14b25 100755
--- a/git-clone.sh
+++ b/git-clone.sh@@ -133,7 +133,7 @@ while *,--reference) shift; reference="$1" ;; *,--reference=*) - reference=`expr "$1" : '--reference=\(.*\)'` ;; + reference=`expr "z$1" : 'z--reference=\(.*\)'` ;; *,-o|*,--or|*,--ori|*,--orig|*,--origi|*,--origin) case "$2" in '')
diff --git a/git-commit.sh b/git-commit.sh
index d7f3ade..7e50cf3 100755
--- a/git-commit.sh
+++ b/git-commit.sh@@ -223,13 +223,13 @@ do -F*|-f*) no_edit=t log_given=t$log_given - logfile=`expr "$1" : '-[Ff]\(.*\)'` + logfile=`expr "z$1" : 'z-[Ff]\(.*\)'` shift ;; --F=*|--f=*|--fi=*|--fil=*|--file=*) no_edit=t log_given=t$log_given - logfile=`expr "$1" : '-[^=]*=\(.*\)'` + logfile=`expr "z$1" : 'z-[^=]*=\(.*\)'` shift ;; -a|--a|--al|--all)
@@ -237,7 +237,7 @@ do shift ;; --au=*|--aut=*|--auth=*|--autho=*|--author=*) - force_author=`expr "$1" : '-[^=]*=\(.*\)'` + force_author=`expr "z$1" : 'z-[^=]*=\(.*\)'` shift ;; --au|--aut|--auth|--autho|--author)
@@ -277,11 +277,11 @@ do log_given=m$log_given if test "$log_message" = '' then - log_message=`expr "$1" : '-m\(.*\)'` + log_message=`expr "z$1" : 'z-m\(.*\)'` else log_message="$log_message -`expr "$1" : '-m\(.*\)'`" +`expr "z$1" : 'z-m\(.*\)'`" fi no_edit=t shift
@@ -290,11 +290,11 @@ do log_given=m$log_given if test "$log_message" = '' then - log_message=`expr "$1" : '-[^=]*=\(.*\)'` + log_message=`expr "z$1" : 'z-[^=]*=\(.*\)'` else log_message="$log_message -`expr "$1" : '-[^=]*=\(.*\)'`" +`expr "z$1" : 'zq-[^=]*=\(.*\)'`" fi no_edit=t shift
@@ -321,7 +321,7 @@ do --reedit-me=*|--reedit-mes=*|--reedit-mess=*|--reedit-messa=*|\ --reedit-messag=*|--reedit-message=*) log_given=t$log_given - use_commit=`expr "$1" : '-[^=]*=\(.*\)'` + use_commit=`expr "z$1" : 'z-[^=]*=\(.*\)'` no_edit= shift ;;
@@ -346,7 +346,7 @@ do --reuse-mes=*|--reuse-mess=*|--reuse-messa=*|--reuse-messag=*|\ --reuse-message=*) log_given=t$log_given - use_commit=`expr "$1" : '-[^=]*=\(.*\)'` + use_commit=`expr "z$1" : 'z-[^=]*=\(.*\)'` no_edit=t shift ;;
diff --git a/git-merge.sh b/git-merge.sh
index fc25f8d..24e3b50 100755
--- a/git-merge.sh
+++ b/git-merge.sh@@ -103,7 +103,7 @@ do -s|--s|--st|--str|--stra|--strat|--strate|--strateg|--strategy) case "$#,$1" in *,*=*) - strategy=`expr "$1" : '-[^=]*=\(.*\)'` ;; + strategy=`expr "z$1" : 'z-[^=]*=\(.*\)'` ;; 1,*) usage ;; *)
diff --git a/git-pull.sh b/git-pull.sh
index aa8c208..076785c 100755
--- a/git-pull.sh
+++ b/git-pull.sh@@ -24,7 +24,7 @@ do -s|--s|--st|--str|--stra|--strat|--strate|--strateg|--strategy) case "$#,$1" in *,*=*) - strategy=`expr "$1" : '-[^=]*=\(.*\)'` ;; + strategy=`expr "z$1" : 'z-[^=]*=\(.*\)'` ;; 1,*) usage ;; *)
diff --git a/git-quiltimport.sh b/git-quiltimport.sh
index 12d9d0c..86b51ab 100755
--- a/git-quiltimport.sh
+++ b/git-quiltimport.sh@@ -9,7 +9,7 @@ while case "$#" in 0) break;; esac do case "$1" in --au=*|--aut=*|--auth=*|--autho=*|--author=*) - quilt_author=$(expr "$1" : '-[^=]*\(.*\)') + quilt_author=$(expr "z$1" : 'z-[^=]*\(.*\)') shift ;;
@@ -26,7 +26,7 @@ do ;; --pa=*|--pat=*|--patc=*|--patch=*|--patche=*|--patches=*) - QUILT_PATCHES=$(expr "$1" : '-[^=]*\(.*\)') + QUILT_PATCHES=$(expr "z$1" : 'z-[^=]*\(.*\)') shift ;;
diff --git a/git-rebase.sh b/git-rebase.sh
index 9ad1c44..0ac085e 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh@@ -179,7 +179,7 @@ do -s|--s|--st|--str|--stra|--strat|--strate|--strateg|--strategy) case "$#,$1" in *,*=*) - strategy=`expr "$1" : '-[^=]*=\(.*\)'` ;; + strategy=`expr "z$1" : 'z-[^=]*=\(.*\)'` ;; 1,*) usage ;; *)
--
1.4.1.rc1.ge6b53