summaryrefslogtreecommitdiff
path: root/refspec.c
diff options
context:
space:
mode:
authorLibravatar SZEDER Gábor <szeder.dev@gmail.com>2019-02-11 20:58:03 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-02-11 14:34:36 -0800
commit7d661e5ed16dca303d7898f5ab0cc2ffc69e0499 (patch)
tree4469d0e973a2ceeaaa237940979c107dd2998cb1 /refspec.c
parenttest-lib: make '--stress' more bisect-friendly (diff)
downloadtgif-7d661e5ed16dca303d7898f5ab0cc2ffc69e0499.tar.xz
test-lib: fix non-portable pattern bracket expressions
Use a '!' character to start a non-matching pattern bracket expression, as specified by POSIX in Shell Command Language section 2.13.1 Patterns Matching a Single Character [1]. I used '^' instead in three places in the previous three commits, to verify that the arguments of the '--stress=' and '--stress-limit=' options and the values of various '*_PORT' environment variables are valid numbers. With certain shells, at least with dash (upstream and in Ubuntu 14.04) and mksh, this led to various undesired behaviors: # error message in case of a valid number $ ~/src/dash/src/dash ./t3903-stash.sh --stress=8 error: --stress=<N> requires the number of jobs to run # not the expected error message $ ~/src/dash/src/dash ./t3903-stash.sh --stress=foo ./t3903-stash.sh: 238: test: Illegal number: foo # no error message at all?! $ mksh ./t3903-stash.sh --stress=foo $ echo $? 0 Some other shells, e.g. Bash (even in posix mode), ksh, dash in Ubuntu 16.04 or later, are apparently happy to accept '^' just as well. [1] http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_13 Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refspec.c')
0 files changed, 0 insertions, 0 deletions