Subject: [PATCH] hook: test -a|o is not POSIX

From: "Issam Maghni via GitGitGadget" <[email-masked]>
Date: Fri, 07 Jan 2022 04:03:41 +0000

From: "Issam E. Maghni" <[email-masked]>

I faced `test: too many arguments` when building using sbase [1]

This is due to a non-POSIX syntax `test ... -a ...` and `test … -o …`.

> The XSI extensions specifying the -a and -o binary primaries and the
> '(' and ')' operators have been marked obsolescent.
[2]

[1] https://core.suckless.org/sbase/
[2] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html

Signed-off-by: Issam E. Maghni <[email-masked]>
---
    shell: test -a|o is not POSIX
    
    I faced test: too many arguments when building using sbase
    [https://core.suckless.org/sbase/]. This is due to a non-POSIX syntax
    test ... -a ... and test … -o ….
    
    > The XSI extensions specifying the -a and -o binary primaries and the
    > '(' and ')' operators have been marked obsolescent.
    
    https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1172%2Fconcatime%2Fpatch-1-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1172/concatime/patch-1-v1
Pull-Request: https://github.com/git/git/pull/1172

 templates/hooks--update.sample | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/templates/hooks--update.sample b/templates/hooks--update.sample
index c4d426bc6ee..6cc46ebcf3a 100755
--- a/templates/hooks--update.sample
+++ b/templates/hooks--update.sample
@@ -37,7 +37,7 @@ if [ -z "$GIT_DIR" ]; then
 	exit 1
 fi
 
-if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+if [ -z "$refname" ] || [ -z "$oldrev" ] || [ -z "$newrev" ]; then
 	echo "usage: $0 <ref> <oldrev> <newrev>" >&2
 	exit 1
 fi
@@ -95,7 +95,7 @@ case "$refname","$newrev_type" in
 		;;
 	refs/heads/*,commit)
 		# branch
-		if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+		if [ "$oldrev" = "$zero" ] && [ "$denycreatebranch" = "true" ]; then
 			echo "*** Creating a branch is not allowed in this repository" >&2
 			exit 1
 		fi

base-commit: 2ae0a9cb8298185a94e5998086f380a355dd8907
-- 
gitgitgadget