tests: fix unportable "\?" and "\+" regex syntax

Fix widely supported but non-POSIX basic regex syntax introduced in [1] and [2]. On GNU, NetBSD and FreeBSD the following works: $ echo xy >f $ grep 'xy\?' f; echo $? xy 0 The same goes for "\+". The "?" and "+" syntax is not in the BRE syntax, just in ERE, but on some implementations it can be invoked by prefixing the meta-operator with "\", but not on OpenBSD: $ uname -a OpenBSD obsd.my.domain 6.2 GENERIC#132 amd64 $ grep --version grep version 0.9 $ grep 'xy\?' f; echo $? 1 Let's fix this by moving to ERE syntax instead, where "?" and "+" are universally supported: $ grep -E 'xy?' f; echo $? xy 0 1. 2ed5c8e174 ("describe: setup working tree for --dirty", 2019-02-03) 2. c801170b0c ("t6120: test for describe with a bare repository", 2019-02-03) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Feb 21, 2019 at 20:28 UTC 4abf20f00439b857c34bac55176011c5612310da
1 file changed +4 -4
t/t6120-describe.sh
+4 -4
@@ -146,7 +146,7 @@ check_describe A-* HEAD
146 test_expect_success 'describe works from outside repo using --git-dir' '
147 git clone --bare "$TRASH_DIRECTORY" "$TRASH_DIRECTORY/bare" &&
148 git --git-dir "$TRASH_DIRECTORY/bare" describe >out &&
149 - grep "^A-[1-9][0-9]\?-g[0-9a-f]\+$" out
149 + grep -E "^A-[1-9][0-9]?-g[0-9a-f]+$" out
150 '
151
152 check_describe "A-*[0-9a-f]" --dirty
@@ -156,7 +156,7 @@ test_expect_success 'describe --dirty with --work-tree' '
156 cd "$TEST_DIRECTORY" &&
157 git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty >"$TRASH_DIRECTORY/out"
158 ) &&
159 - grep "^A-[1-9][0-9]\?-g[0-9a-f]\+$" out
159 + grep -E "^A-[1-9][0-9]?-g[0-9a-f]+$" out
160 '
161
162 test_expect_success 'set-up dirty work tree' '
@@ -170,7 +170,7 @@ test_expect_success 'describe --dirty with --work-tree (dirty)' '
170 cd "$TEST_DIRECTORY" &&
171 git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty >"$TRASH_DIRECTORY/out"
172 ) &&
173 - grep "^A-[1-9][0-9]\?-g[0-9a-f]\+-dirty$" out
173 + grep -E "^A-[1-9][0-9]?-g[0-9a-f]+-dirty$" out
174 '
175
176 check_describe "A-*[0-9a-f].mod" --dirty=.mod
@@ -180,7 +180,7 @@ test_expect_success 'describe --dirty=.mod with --work-tree (dirty)' '
180 cd "$TEST_DIRECTORY" &&
181 git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty=.mod >"$TRASH_DIRECTORY/out"
182 ) &&
183 - grep "^A-[1-9][0-9]\?-g[0-9a-f]\+.mod$" out
183 + grep -E "^A-[1-9][0-9]?-g[0-9a-f]+.mod$" out
184 '
185
186 test_expect_success 'describe --dirty HEAD' '