ports/116521: update git to 1.5.3.2
Eygene Ryabinkin
rea-fbsd at codelabs.ru
Fri Sep 21 21:10:07 UTC 2007
The following reply was made to PR ports/116521; it has been noted by GNATS.
From: Eygene Ryabinkin <rea-fbsd at codelabs.ru>
To: FreeBSD-gnats-submit at FreeBSD.org, freebsd-ports-bugs at FreeBSD.org
Cc: anholt at freebsd.org
Subject: Re: ports/116521: update git to 1.5.3.2
Date: Sat, 22 Sep 2007 01:01:42 +0400
Found one more issue with 1.5.3.2: shell scripts are using
constructs like 'while case "$#" in 0) break;; esac; do ... done'
for argument parsing loop that does not need external commands
invocation. This works great for bash that is /bin/sh for Linux,
but original /bin/sh (that FreeBSD has) skips this cycle completely.
The solution is to add the case branch '*) : ;;'. It does not add
any external command invocation, but does its work since ':' always
returns zero.
Here is the patch that should be placed into the files/ directory:
--- 1.5.3.2-while-case.patch begins here ---
diff -urN ./git-am.sh ../git-1.5.3.2.new/git-am.sh
--- ./git-am.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-am.sh 2007-09-22 00:44:14.000000000 +0400
@@ -109,7 +109,7 @@
resolvemsg= resume=
git_apply_opt=
-while case "$#" in 0) break;; esac
+while case "$#" in 0) break;; *) : ;; esac
do
case "$1" in
-d=*|--d=*|--do=*|--dot=*|--dote=*|--dotes=*|--dotest=*)
diff -urN ./git-clean.sh ../git-1.5.3.2.new/git-clean.sh
--- ./git-clean.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-clean.sh 2007-09-22 00:44:24.000000000 +0400
@@ -26,7 +26,7 @@
rm_refuse="echo Not removing"
echo1="echo"
-while case "$#" in 0) break ;; esac
+while case "$#" in 0) break ;; *) : ;; esac
do
case "$1" in
-d)
diff -urN ./git-commit.sh ../git-1.5.3.2.new/git-commit.sh
--- ./git-commit.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-commit.sh 2007-09-22 00:44:40.000000000 +0400
@@ -89,7 +89,7 @@
only_include_assumed=
untracked_files=
templatefile="`git config commit.template`"
-while case "$#" in 0) break;; esac
+while case "$#" in 0) break;; *) : ;; esac
do
case "$1" in
-F|--F|-f|--f|--fi|--fil|--file)
diff -urN ./git-fetch.sh ../git-1.5.3.2.new/git-fetch.sh
--- ./git-fetch.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-fetch.sh 2007-09-22 00:44:46.000000000 +0400
@@ -27,7 +27,7 @@
no_progress=
test -t 1 || no_progress=--no-progress
quiet=
-while case "$#" in 0) break ;; esac
+while case "$#" in 0) break ;; *) : ;; esac
do
case "$1" in
-a|--a|--ap|--app|--appe|--appen|--append)
diff -urN ./git-filter-branch.sh ../git-1.5.3.2.new/git-filter-branch.sh
--- ./git-filter-branch.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-filter-branch.sh 2007-09-22 00:44:53.000000000 +0400
@@ -105,7 +105,7 @@
filter_subdir=
orig_namespace=refs/original/
force=
-while case "$#" in 0) usage;; esac
+while case "$#" in 0) usage;; *) : ;; esac
do
case "$1" in
--)
diff -urN ./git-instaweb.sh ../git-1.5.3.2.new/git-instaweb.sh
--- ./git-instaweb.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-instaweb.sh 2007-09-22 00:44:59.000000000 +0400
@@ -61,7 +61,7 @@
test -f "$fqgitdir/pid" && kill `cat "$fqgitdir/pid"`
}
-while case "$#" in 0) break ;; esac
+while case "$#" in 0) break ;; *) : ;; esac
do
case "$1" in
--stop|stop)
diff -urN ./git-ls-remote.sh ../git-1.5.3.2.new/git-ls-remote.sh
--- ./git-ls-remote.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-ls-remote.sh 2007-09-22 00:45:11.000000000 +0400
@@ -13,7 +13,7 @@
}
exec=
-while case "$#" in 0) break;; esac
+while case "$#" in 0) break;; *) : ;; esac
do
case "$1" in
-h|--h|--he|--hea|--head|--heads)
diff -urN ./git-merge.sh ../git-1.5.3.2.new/git-merge.sh
--- ./git-merge.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-merge.sh 2007-09-22 00:45:28.000000000 +0400
@@ -122,7 +122,7 @@
case "$#" in 0) usage ;; esac
have_message=
-while case "$#" in 0) break ;; esac
+while case "$#" in 0) break ;; *) : ;; esac
do
case "$1" in
-n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\
diff -urN ./git-mergetool.sh ../git-1.5.3.2.new/git-mergetool.sh
--- ./git-mergetool.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-mergetool.sh 2007-09-22 00:45:39.000000000 +0400
@@ -268,7 +268,7 @@
cleanup_temp_files
}
-while case $# in 0) break ;; esac
+while case $# in 0) break ;; *) : ;; esac
do
case "$1" in
-t|--tool*)
diff -urN ./git-pull.sh ../git-1.5.3.2.new/git-pull.sh
--- ./git-pull.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-pull.sh 2007-09-22 00:46:11.000000000 +0400
@@ -16,7 +16,7 @@
die "You are in the middle of a conflicted merge."
strategy_args= no_summary= no_commit= squash=
-while case "$#,$1" in 0) break ;; *,-*) ;; *) break ;; esac
+while case "$#,$1" in 0) break ;; *,-*) : ;; *) break ;; esac
do
case "$1" in
-n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\
diff -urN ./git-quiltimport.sh ../git-1.5.3.2.new/git-quiltimport.sh
--- ./git-quiltimport.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-quiltimport.sh 2007-09-22 00:46:23.000000000 +0400
@@ -5,7 +5,7 @@
dry_run=""
quilt_author=""
-while case "$#" in 0) break;; esac
+while case "$#" in 0) break;; *) : ;; esac
do
case "$1" in
--au=*|--aut=*|--auth=*|--autho=*|--author=*)
diff -urN ./git-rebase--interactive.sh ../git-1.5.3.2.new/git-rebase--interactive.sh
--- ./git-rebase--interactive.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-rebase--interactive.sh 2007-09-22 00:46:30.000000000 +0400
@@ -317,7 +317,7 @@
done
}
-while case $# in 0) break ;; esac
+while case $# in 0) break ;; *) : ;; esac
do
case "$1" in
--continue)
diff -urN ./git-rebase.sh ../git-1.5.3.2.new/git-rebase.sh
--- ./git-rebase.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-rebase.sh 2007-09-22 00:46:40.000000000 +0400
@@ -122,7 +122,7 @@
is_interactive () {
test -f "$dotest"/interactive ||
- while case $#,"$1" in 0,|*,-i|*,--interactive) break ;; esac
+ while case $#,"$1" in 0,|*,-i|*,--interactive) break ;; *) : ;; esac
do
shift
done && test -n "$1"
diff -urN ./git-repack.sh ../git-1.5.3.2.new/git-repack.sh
--- ./git-repack.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-repack.sh 2007-09-22 00:47:07.000000000 +0400
@@ -9,7 +9,7 @@
no_update_info= all_into_one= remove_redundant=
local= quiet= no_reuse= extra=
-while case "$#" in 0) break ;; esac
+while case "$#" in 0) break ;; *) : ;; esac
do
case "$1" in
-n) no_update_info=t ;;
diff -urN ./git-reset.sh ../git-1.5.3.2.new/git-reset.sh
--- ./git-reset.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-reset.sh 2007-09-22 00:47:18.000000000 +0400
@@ -11,7 +11,7 @@
update= reset_type=--mixed
unset rev
-while case $# in 0) break ;; esac
+while case $# in 0) break ;; *) : ;; esac
do
case "$1" in
--mixed | --soft | --hard)
diff -urN ./git-submodule.sh ../git-1.5.3.2.new/git-submodule.sh
--- ./git-submodule.sh 2007-09-19 22:02:17.000000000 +0400
+++ ../git-1.5.3.2.new/git-submodule.sh 2007-09-22 00:47:32.000000000 +0400
@@ -251,7 +251,7 @@
done
}
-while case "$#" in 0) break ;; esac
+while case "$#" in 0) break ;; *) : ;; esac
do
case "$1" in
add)
--- 1.5.3.2-while-case.patch ends here ---
This patch will be submitted to the mainstream Git, so it can
be of no value for the next version.
--
Eygene
More information about the freebsd-ports-bugs
mailing list