contrib: Fix non-portable sed commands in gcc-descr [PR102664/]
POSIX sed does not support \? or \+ in its Basic Regular Expression grammar. Replace the \(tags/\)\? part of the pattern with a substitution to remove ^tags/ before other substitutions. Replace \([0-9]\+\) with \([0-9][0-9]*\) or with \([1-9][0-9]*\) in release branch numbers, where a leading zero does not occur. contrib/ChangeLog: PR other/102664 * git-descr.sh: Use portable sed commands. * git-undescr.sh: Likewise.
This commit is contained in:
parent
8d038a841a
commit
17bffa0c9f
2 changed files with 6 additions and 6 deletions
|
@ -18,11 +18,11 @@ do
|
|||
done
|
||||
|
||||
if test x$short = xyes; then
|
||||
r=$(git describe --all --match 'basepoints/gcc-[0-9]*' $c | sed -n 's,^\(tags/\)\?basepoints/gcc-\([0-9]\+\)-\([0-9]\+\)-g[0-9a-f]*$,r\2-\3,p;s,^\(tags/\)\?basepoints/gcc-\([0-9]\+\)$,r\2-0,p');
|
||||
r=$(git describe --all --match 'basepoints/gcc-[1-9]*' $c | sed -n 's,^tags/,,;s,^basepoints/gcc-\([1-9][0-9]*\)-\([0-9][0-9]*\)-g[0-9a-f]*$,r\1-\2,p;s,^basepoints/gcc-\([1-9][0-9]*\)$,r\1-0,p');
|
||||
elif test x$long = xyes; then
|
||||
r=$(git describe --all --abbrev=40 --match 'basepoints/gcc-[0-9]*' $c | sed -n 's,^\(tags/\)\?basepoints/gcc-,r,p')
|
||||
r=$(git describe --all --abbrev=40 --match 'basepoints/gcc-[1-9]*' $c | sed -n 's,^tags/,,;s,^basepoints/gcc-,r,p')
|
||||
else
|
||||
r=$(git describe --all --abbrev=14 --match 'basepoints/gcc-[0-9]*' $c | sed -n 's,^\(tags/\)\?basepoints/gcc-,r,p');
|
||||
r=$(git describe --all --abbrev=14 --match 'basepoints/gcc-[1-9]*' $c | sed -n 's,^tags/,,;s,^basepoints/gcc-,r,p')
|
||||
expr ${r:-no} : 'r[0-9]\+$' >/dev/null && r=${r}-0-g$(git rev-parse $c);
|
||||
fi;
|
||||
if test -n $r; then
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
# Script to undescribe a GCC revision
|
||||
|
||||
o=$(git config --get gcc-config.upstream);
|
||||
r=$(echo $1 | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p');
|
||||
n=$(echo $1 | sed -n 's,^r[0-9]\+-\([0-9]\+\)\(-g[0-9a-f]\+\)\?$,\1,p');
|
||||
r=$(echo $1 | sed -n 's,^r\([1-9][0-9]*\)-[0-9][0-9]*\(-g[0-9a-f]*\)*$,\1,p');
|
||||
n=$(echo $1 | sed -n 's,^r[1-9][0-9]*-\([0-9][0-9]*\)\(-g[0-9a-f]*\)*$,\1,p');
|
||||
|
||||
test -z $r && echo Invalid id $1 && exit 1;
|
||||
h=$(git rev-parse --verify --quiet ${o:-origin}/releases/gcc-$r);
|
||||
test -z $h && h=$(git rev-parse --verify --quiet ${o:-origin}/master);
|
||||
p=$(git describe --all --match 'basepoints/gcc-'$r $h | sed -n 's,^\(tags/\)\?basepoints/gcc-[0-9]\+-\([0-9]\+\)-g[0-9a-f]*$,\2,p;s,^\(tags/\)\?basepoints/gcc-[0-9]\+$,0,p');
|
||||
p=$(git describe --all --match 'basepoints/gcc-'$r $h | sed -n 's,^tags/,,;s,^basepoints/gcc-[1-9][0-9]*-\([0-9][0-9]*\)-g[0-9a-f]*$,\1,p;s,^basepoints/gcc-[1-9][0-9]*$,0,p');
|
||||
git rev-parse --verify $h~$(expr $p - $n);
|
||||
|
|
Loading…
Add table
Reference in a new issue