Hi, this patch series replaces all uses of `test -o/a ` that I was able to find in our codebase. This is in accordance to our coding guidelines: - We do not write our "test" command with "-a" and "-o" and use "&&" or "||" to concatenate multiple "test" commands instead, because the use of "-a/-o" is often error-prone. E.g. test -n "$x" -a "$a" = "$b" is buggy and breaks when $x is "=", but test -n "$x" && test "$a" = "$b" does not have such a problem. This patch series is a result of the discussion at [1]. Patrick [1]: <20231109073250.GA2698227@coredump.intra.peff.net> Patrick Steinhardt (4): global: convert trivial usages of `test -a/-o ` contrib/subtree: stop using `-o` to test for number of args contrib/subtree: convert subtree type check to use case statement Makefile: stop using `test -o` when unlinking duplicate executables GIT-VERSION-GEN | 2 +- Makefile | 2 +- configure.ac | 2 +- contrib/subtree/git-subtree.sh | 34 +++++++++++++++++++++++----------- t/perf/perf-lib.sh | 2 +- t/perf/run | 9 +++++---- t/valgrind/valgrind.sh | 2 +- 7 files changed, 33 insertions(+), 20 deletions(-) -- 2.42.0