ff060ef08c
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-mikael@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 ea1ce0d163
> 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
unexpected, basepoints/gcc-0 needs to work.
2022-03-10 Jakub Jelinek <jakub@redhat.com>
PR other/102664
* git-descr.sh: Replace all [1-9] occurrences with [0-9].
* git-undescr.sh: Likewise.
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Script to describe a GCC revision based on git hash
|
|
|
|
short=no
|
|
long=no
|
|
c=master
|
|
|
|
for arg in "$@"
|
|
do
|
|
case "$arg" in
|
|
--short) short=yes long=no
|
|
;;
|
|
--long|--full) long=yes short=no
|
|
;;
|
|
*) c=$arg
|
|
esac
|
|
done
|
|
|
|
if test x$short = xyes; then
|
|
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-[0-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/,,;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
|
|
o=$(git config --get gcc-config.upstream);
|
|
rr=$(echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p');
|
|
if git rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
|
|
m=releases/gcc-$rr;
|
|
else
|
|
m=master;
|
|
fi;
|
|
git merge-base --is-ancestor $c ${o:-origin}/$m && echo ${r};
|
|
fi;
|