On Wed, Mar 09, 2022 at 12:40:24PM -0500, Patrick Palka via Gcc-patches wrote:
> On Wed, Mar 9, 2022 at 8:54 AM Mikael Morin <morin-mik...@orange.fr> wrote:
> > Le 08/03/2022 à 18:58, Jonathan Wakely via Gcc-patches a écrit :
> > > 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.
> > >
> > Note that you also changed some gcc-[0-9]* to gcc-[1-9]*, which is a
> > typo/thinko I guess?  It looks like it wouldn’t match gcc-10 any more
> > for example…
> 
> Perhaps related to this, I noticed the following
>   git gcc-descr ea1ce0d163ea1d63b6837144ae4be51d92630007
> now fails with
>   fatal: No tags can describe 'ea1ce0d163ea1d63b6837144ae4be51d92630007'.
> instead of outputting
>   r0-52309-gea1ce0d163ea1d

That is because of those [0-9] to [1-9] changes which prevent
basepoints/gcc-0 from working.  While basepoints/gcc-005 etc. are certainly
unespected, basepoints/gcc-0 needs to work.

Ok for trunk?

2022-03-09  Jakub Jelinek  <ja...@redhat.com>

        PR other/102664
        * git-descr.sh: Replace all [1-9] occurrences with [0-9].
        * git-undescr.sh: Likewise.

--- contrib/git-descr.sh.jj     2022-03-09 09:09:55.392843652 +0100
+++ contrib/git-descr.sh        2022-03-09 18:49:39.426914348 +0100
@@ -18,11 +18,11 @@ do
 done
 
 if test x$short = xyes; then
-    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');
+    r=$(git describe --all --match 'basepoints/gcc-[0-9]*' $c | sed -n 
's,^tags/,,;s,^basepoints/gcc-\([0-9][0-9]*\)-\([0-9][0-9]*\)-g[0-9a-f]*$,r\1-\2,p;s,^basepoints/gcc-\([0-9][0-9]*\)$,r\1-0,p');
 elif test x$long = xyes; then
-    r=$(git describe --all --abbrev=40 --match 'basepoints/gcc-[1-9]*' $c | 
sed -n 's,^tags/,,;s,^basepoints/gcc-,r,p')
+    r=$(git describe --all --abbrev=40 --match 'basepoints/gcc-[0-9]*' $c | 
sed -n 's,^tags/,,;s,^basepoints/gcc-,r,p')
 else
-    r=$(git describe --all --abbrev=14 --match 'basepoints/gcc-[1-9]*' $c | 
sed -n 's,^tags/,,;s,^basepoints/gcc-,r,p')
+    r=$(git describe --all --abbrev=14 --match 'basepoints/gcc-[0-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
--- contrib/git-undescr.sh.jj   2022-03-09 09:09:55.392843652 +0100
+++ contrib/git-undescr.sh      2022-03-09 18:50:14.425429223 +0100
@@ -3,11 +3,11 @@
 # Script to undescribe a GCC revision
 
 o=$(git config --get gcc-config.upstream);
-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');
+r=$(echo $1 | sed -n 's,^r\([0-9][0-9]*\)-[0-9][0-9]*\(-g[0-9a-f]*\)*$,\1,p');
+n=$(echo $1 | sed -n 's,^r[0-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/,,;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');
+p=$(git describe --all --match 'basepoints/gcc-'$r $h | sed -n 
's,^tags/,,;s,^basepoints/gcc-[0-9][0-9]*-\([0-9][0-9]*\)-g[0-9a-f]*$,\1,p;s,^basepoints/gcc-[0-9][0-9]*$,0,p');
 git rev-parse --verify $h~$(expr $p - $n);


        Jakub

Reply via email to