public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
@ 2021-07-15 19:12 Serge Belyshev
  2021-07-16  7:06 ` Richard Biener
  0 siblings, 1 reply; 16+ messages in thread
From: Serge Belyshev @ 2021-07-15 19:12 UTC (permalink / raw)
  To: gcc-patches

This is to make development version string more readable, and
to simplify navigation through gcc-testresults.

Currently gcc_update uses git log --pretty=tformat:%p:%t:%H to
generate version string, which is somewhat excessive since conversion
to git because commit hashes are now stable.

Even better, gcc-git-customization.sh script provides gcc-descr alias
which makes prettier version string, and thus use it instead (or just
abbreviated commit hash when the alias is not available).

Before: [master revision b25edf6e6fe:e035f180ebf:7094a69bd62a14dfa311eaa2fea468f221c7c9f3]
After: [master r12-2331]

OK for mainline?

contrib/Changelog:

	* gcc_update: Use gcc-descr alias for revision string if it exists, or
	abbreviated commit hash instead. Drop "revision" from gcc/REVISION.
---
 contrib/gcc_update | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contrib/gcc_update b/contrib/gcc_update
index 80fac9fc995..8f712e37616 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -332,7 +332,7 @@ case $vcs_type in
             exit 1
 	fi
 
-	revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
+	revision=`$GCC_GIT gcc-descr || $GCC_GIT log -n1 --pretty=tformat:%h`
 	branch=`$GCC_GIT name-rev --name-only HEAD || :`
 	;;    
 
@@ -414,6 +414,6 @@ rm -f LAST_UPDATED gcc/REVISION
     date
     echo "`TZ=UTC date` (revision $revision)"
 } > LAST_UPDATED
-echo "[$branch revision $revision]" > gcc/REVISION
+echo "[$branch $revision]" > gcc/REVISION
 
 touch_files_reexec

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
  2021-07-15 19:12 [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION Serge Belyshev
@ 2021-07-16  7:06 ` Richard Biener
  2021-07-16  7:29   ` Jakub Jelinek
  0 siblings, 1 reply; 16+ messages in thread
From: Richard Biener @ 2021-07-16  7:06 UTC (permalink / raw)
  To: Serge Belyshev; +Cc: GCC Patches

On Thu, Jul 15, 2021 at 9:12 PM Serge Belyshev
<belyshev@depni.sinp.msu.ru> wrote:
>
> This is to make development version string more readable, and
> to simplify navigation through gcc-testresults.
>
> Currently gcc_update uses git log --pretty=tformat:%p:%t:%H to
> generate version string, which is somewhat excessive since conversion
> to git because commit hashes are now stable.
>
> Even better, gcc-git-customization.sh script provides gcc-descr alias
> which makes prettier version string, and thus use it instead (or just
> abbreviated commit hash when the alias is not available).
>
> Before: [master revision b25edf6e6fe:e035f180ebf:7094a69bd62a14dfa311eaa2fea468f221c7c9f3]
> After: [master r12-2331]
>
> OK for mainline?

Can you instead open-code gcc-descr in this script?

> contrib/Changelog:
>
>         * gcc_update: Use gcc-descr alias for revision string if it exists, or
>         abbreviated commit hash instead. Drop "revision" from gcc/REVISION.
> ---
>  contrib/gcc_update | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/gcc_update b/contrib/gcc_update
> index 80fac9fc995..8f712e37616 100755
> --- a/contrib/gcc_update
> +++ b/contrib/gcc_update
> @@ -332,7 +332,7 @@ case $vcs_type in
>              exit 1
>         fi
>
> -       revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
> +       revision=`$GCC_GIT gcc-descr || $GCC_GIT log -n1 --pretty=tformat:%h`
>         branch=`$GCC_GIT name-rev --name-only HEAD || :`
>         ;;
>
> @@ -414,6 +414,6 @@ rm -f LAST_UPDATED gcc/REVISION
>      date
>      echo "`TZ=UTC date` (revision $revision)"
>  } > LAST_UPDATED
> -echo "[$branch revision $revision]" > gcc/REVISION
> +echo "[$branch $revision]" > gcc/REVISION
>
>  touch_files_reexec

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
  2021-07-16  7:06 ` Richard Biener
@ 2021-07-16  7:29   ` Jakub Jelinek
  2021-07-16  9:22     ` Richard Biener
  2021-07-19 13:53     ` [PATCH] gcc_update: use gcc-descr git alias " Richard Earnshaw
  0 siblings, 2 replies; 16+ messages in thread
From: Jakub Jelinek @ 2021-07-16  7:29 UTC (permalink / raw)
  To: Richard Biener; +Cc: Serge Belyshev, GCC Patches

On Fri, Jul 16, 2021 at 09:06:01AM +0200, Richard Biener via Gcc-patches wrote:
> On Thu, Jul 15, 2021 at 9:12 PM Serge Belyshev
> <belyshev@depni.sinp.msu.ru> wrote:
> >
> > This is to make development version string more readable, and
> > to simplify navigation through gcc-testresults.
> >
> > Currently gcc_update uses git log --pretty=tformat:%p:%t:%H to
> > generate version string, which is somewhat excessive since conversion
> > to git because commit hashes are now stable.
> >
> > Even better, gcc-git-customization.sh script provides gcc-descr alias
> > which makes prettier version string, and thus use it instead (or just
> > abbreviated commit hash when the alias is not available).
> >
> > Before: [master revision b25edf6e6fe:e035f180ebf:7094a69bd62a14dfa311eaa2fea468f221c7c9f3]
> > After: [master r12-2331]
> >
> > OK for mainline?
> 
> Can you instead open-code gcc-descr in this script?

Yeah, that will mean consistency no matter whether one has the
customizations installed or not.
And, you don't want the effect of $GCC_GIT gcc-descr but $GCC_GIT gcc-descr HEAD
(the default is $GCC_GIT gcc-descr master).
As you want to use gcc-descr without --full, I think
	revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
	r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
	   | 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'`;
	if test -n $r; then
		o=`$GCC_GIT config --get gcc-config.upstream`;
		rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
		if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
			m=releases/gcc-$rr;
		else
			m=master;
		fi;
		if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
			revision=$r;
		fi
	fi
will do it.  Perhaps rename the r, o, rr and m temporaries.

	Jakub


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
  2021-07-16  7:29   ` Jakub Jelinek
@ 2021-07-16  9:22     ` Richard Biener
  2021-07-16  9:36       ` Jakub Jelinek
  2021-07-19 13:53     ` [PATCH] gcc_update: use gcc-descr git alias " Richard Earnshaw
  1 sibling, 1 reply; 16+ messages in thread
From: Richard Biener @ 2021-07-16  9:22 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Serge Belyshev, GCC Patches

On Fri, Jul 16, 2021 at 9:29 AM Jakub Jelinek <jakub@redhat.com> wrote:
>
> On Fri, Jul 16, 2021 at 09:06:01AM +0200, Richard Biener via Gcc-patches wrote:
> > On Thu, Jul 15, 2021 at 9:12 PM Serge Belyshev
> > <belyshev@depni.sinp.msu.ru> wrote:
> > >
> > > This is to make development version string more readable, and
> > > to simplify navigation through gcc-testresults.
> > >
> > > Currently gcc_update uses git log --pretty=tformat:%p:%t:%H to
> > > generate version string, which is somewhat excessive since conversion
> > > to git because commit hashes are now stable.
> > >
> > > Even better, gcc-git-customization.sh script provides gcc-descr alias
> > > which makes prettier version string, and thus use it instead (or just
> > > abbreviated commit hash when the alias is not available).
> > >
> > > Before: [master revision b25edf6e6fe:e035f180ebf:7094a69bd62a14dfa311eaa2fea468f221c7c9f3]
> > > After: [master r12-2331]
> > >
> > > OK for mainline?
> >
> > Can you instead open-code gcc-descr in this script?
>
> Yeah, that will mean consistency no matter whether one has the
> customizations installed or not.
> And, you don't want the effect of $GCC_GIT gcc-descr but $GCC_GIT gcc-descr HEAD
> (the default is $GCC_GIT gcc-descr master).
> As you want to use gcc-descr without --full, I think
>         revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
>         r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
>            | 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'`;
>         if test -n $r; then
>                 o=`$GCC_GIT config --get gcc-config.upstream`;
>                 rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
>                 if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
>                         m=releases/gcc-$rr;
>                 else
>                         m=master;
>                 fi;
>                 if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
>                         revision=$r;
>                 fi
>         fi
> will do it.  Perhaps rename the r, o, rr and m temporaries.

Note the new form will be more difficult to use for people not having
the customizations
installed.  It also will likely break when gcc-update is not invoked
on official branches?

So I'm not sure the change is a good one after all...

Richard.

>         Jakub
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
  2021-07-16  9:22     ` Richard Biener
@ 2021-07-16  9:36       ` Jakub Jelinek
  2021-07-16  9:39         ` Richard Biener
  0 siblings, 1 reply; 16+ messages in thread
From: Jakub Jelinek @ 2021-07-16  9:36 UTC (permalink / raw)
  To: Richard Biener; +Cc: Serge Belyshev, GCC Patches

On Fri, Jul 16, 2021 at 11:22:27AM +0200, Richard Biener wrote:
> > Yeah, that will mean consistency no matter whether one has the
> > customizations installed or not.
> > And, you don't want the effect of $GCC_GIT gcc-descr but $GCC_GIT gcc-descr HEAD
> > (the default is $GCC_GIT gcc-descr master).
> > As you want to use gcc-descr without --full, I think
> >         revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
> >         r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
> >            | 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'`;
> >         if test -n $r; then
> >                 o=`$GCC_GIT config --get gcc-config.upstream`;
> >                 rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
> >                 if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
> >                         m=releases/gcc-$rr;
> >                 else
> >                         m=master;
> >                 fi;
> >                 if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
> >                         revision=$r;
> >                 fi
> >         fi
> > will do it.  Perhaps rename the r, o, rr and m temporaries.
> 
> Note the new form will be more difficult to use for people not having
> the customizations
> installed.  It also will likely break when gcc-update is not invoked
> on official branches?

It will not break, on the non-official branches it will just print the
hash alone.  That is the --is-ancestor check in there...
People without the customizations can easily look it up using gcc.gnu.org,
https://gcc.gnu.org/r12-1234
works.

The advantage of the r12-1234 form is that it is short, unique and easily
comparable (what is older vs. newer) and clearly says what is official
release branch.

Alternative would be to use git gcc-descr --full form with the hash part
reduced say to 11 or 12 chars, i.e.
r12-1234-g9147affc04e1
then it works even without the customizations (can be fed directly to git)
and still has the unique and easily comparable properties, but isn't that
good on the short side anymore.  In the above script just using
			revision=${r}-g${revision};
instead of
			revision=$r;
would do it.  Perhaps also replace both HEAD occurences with $revision

	Jakub


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
  2021-07-16  9:36       ` Jakub Jelinek
@ 2021-07-16  9:39         ` Richard Biener
  2021-07-16 10:37           ` [PATCH v2] gcc_update: use human readable name " Serge Belyshev
  0 siblings, 1 reply; 16+ messages in thread
From: Richard Biener @ 2021-07-16  9:39 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Serge Belyshev, GCC Patches

On Fri, Jul 16, 2021 at 11:36 AM Jakub Jelinek <jakub@redhat.com> wrote:
>
> On Fri, Jul 16, 2021 at 11:22:27AM +0200, Richard Biener wrote:
> > > Yeah, that will mean consistency no matter whether one has the
> > > customizations installed or not.
> > > And, you don't want the effect of $GCC_GIT gcc-descr but $GCC_GIT gcc-descr HEAD
> > > (the default is $GCC_GIT gcc-descr master).
> > > As you want to use gcc-descr without --full, I think
> > >         revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
> > >         r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
> > >            | 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'`;
> > >         if test -n $r; then
> > >                 o=`$GCC_GIT config --get gcc-config.upstream`;
> > >                 rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
> > >                 if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
> > >                         m=releases/gcc-$rr;
> > >                 else
> > >                         m=master;
> > >                 fi;
> > >                 if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
> > >                         revision=$r;
> > >                 fi
> > >         fi
> > > will do it.  Perhaps rename the r, o, rr and m temporaries.
> >
> > Note the new form will be more difficult to use for people not having
> > the customizations
> > installed.  It also will likely break when gcc-update is not invoked
> > on official branches?
>
> It will not break, on the non-official branches it will just print the
> hash alone.  That is the --is-ancestor check in there...
> People without the customizations can easily look it up using gcc.gnu.org,
> https://gcc.gnu.org/r12-1234
> works.
>
> The advantage of the r12-1234 form is that it is short, unique and easily
> comparable (what is older vs. newer) and clearly says what is official
> release branch.

True.

> Alternative would be to use git gcc-descr --full form with the hash part
> reduced say to 11 or 12 chars, i.e.
> r12-1234-g9147affc04e1
> then it works even without the customizations (can be fed directly to git)
> and still has the unique and easily comparable properties, but isn't that
> good on the short side anymore.

I'd still say the above is better, but yes, reducing the full hash is sensible
(doesn't git have an automatic way to do that given the current repo
"collisions"?)

>  In the above script just using
>                         revision=${r}-g${revision};
> instead of
>                         revision=$r;
> would do it.  Perhaps also replace both HEAD occurences with $revision
>
>         Jakub
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-07-16  9:39         ` Richard Biener
@ 2021-07-16 10:37           ` Serge Belyshev
  2021-07-19 10:39             ` Richard Biener
  0 siblings, 1 reply; 16+ messages in thread
From: Serge Belyshev @ 2021-07-16 10:37 UTC (permalink / raw)
  To: Richard Biener; +Cc: Jakub Jelinek, GCC Patches

Based on discussion I've chosen open-coded version without commit hash.

>> > > ...  Perhaps rename the r, o, rr and m temporaries.

I like it better with short names, there is no other code in that
script to clash with.  (Also, two adjacent case branches for hg and svn
are essentialy dead now).

>> ...  Perhaps also replace both HEAD occurences with $revision

not sure about that: should not they be exactly equivalent in all cases?

---
gcc_update: use human readable name for revision string in gcc/REVISION

contrib/Changelog:

	* gcc_update: derive human readable name for HEAD using git describe
	like "git gcc-descr" does.  Drop "revision" from gcc/REVISION.
---
 contrib/gcc_update | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/contrib/gcc_update b/contrib/gcc_update
index 80fac9fc995..558926b3a2d 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -332,7 +332,22 @@ case $vcs_type in
             exit 1
 	fi
 
-	revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
+	# Open-coded version of "git gcc-descr" from contrib/gcc-git-customization.sh
+	revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
+	r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
+	   | 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'`;
+	if test -n $r; then
+		o=`$GCC_GIT config --get gcc-config.upstream`;
+		rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
+		if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
+			m=releases/gcc-$rr;
+		else
+			m=master;
+		fi;
+		if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
+			revision=$r;
+		fi
+	fi
 	branch=`$GCC_GIT name-rev --name-only HEAD || :`
 	;;    
 
@@ -414,6 +429,6 @@ rm -f LAST_UPDATED gcc/REVISION
     date
     echo "`TZ=UTC date` (revision $revision)"
 } > LAST_UPDATED
-echo "[$branch revision $revision]" > gcc/REVISION
+echo "[$branch $revision]" > gcc/REVISION
 
 touch_files_reexec

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-07-16 10:37           ` [PATCH v2] gcc_update: use human readable name " Serge Belyshev
@ 2021-07-19 10:39             ` Richard Biener
  2021-07-19 10:47               ` Iain Sandoe
  0 siblings, 1 reply; 16+ messages in thread
From: Richard Biener @ 2021-07-19 10:39 UTC (permalink / raw)
  To: Serge Belyshev; +Cc: Jakub Jelinek, GCC Patches

On Fri, Jul 16, 2021 at 12:37 PM Serge Belyshev
<belyshev@depni.sinp.msu.ru> wrote:
>
> Based on discussion I've chosen open-coded version without commit hash.

As said I'd prefer one with (shortened) hash, but then I'm not angry
if people agree on sth else.

> >> > > ...  Perhaps rename the r, o, rr and m temporaries.
>
> I like it better with short names, there is no other code in that
> script to clash with.  (Also, two adjacent case branches for hg and svn
> are essentialy dead now).
>
> >> ...  Perhaps also replace both HEAD occurences with $revision
>
> not sure about that: should not they be exactly equivalent in all cases?
>
> ---
> gcc_update: use human readable name for revision string in gcc/REVISION
>
> contrib/Changelog:
>
>         * gcc_update: derive human readable name for HEAD using git describe
>         like "git gcc-descr" does.  Drop "revision" from gcc/REVISION.
> ---
>  contrib/gcc_update | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/gcc_update b/contrib/gcc_update
> index 80fac9fc995..558926b3a2d 100755
> --- a/contrib/gcc_update
> +++ b/contrib/gcc_update
> @@ -332,7 +332,22 @@ case $vcs_type in
>              exit 1
>         fi
>
> -       revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
> +       # Open-coded version of "git gcc-descr" from contrib/gcc-git-customization.sh
> +       revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
> +       r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
> +          | 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'`;
> +       if test -n $r; then
> +               o=`$GCC_GIT config --get gcc-config.upstream`;
> +               rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
> +               if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
> +                       m=releases/gcc-$rr;
> +               else
> +                       m=master;
> +               fi;
> +               if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
> +                       revision=$r;
> +               fi
> +       fi
>         branch=`$GCC_GIT name-rev --name-only HEAD || :`
>         ;;
>
> @@ -414,6 +429,6 @@ rm -f LAST_UPDATED gcc/REVISION
>      date
>      echo "`TZ=UTC date` (revision $revision)"
>  } > LAST_UPDATED
> -echo "[$branch revision $revision]" > gcc/REVISION
> +echo "[$branch $revision]" > gcc/REVISION
>
>  touch_files_reexec

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-07-19 10:39             ` Richard Biener
@ 2021-07-19 10:47               ` Iain Sandoe
  2021-07-19 11:09                 ` Jakub Jelinek
  0 siblings, 1 reply; 16+ messages in thread
From: Iain Sandoe @ 2021-07-19 10:47 UTC (permalink / raw)
  To: Richard Biener; +Cc: Serge Belyshev, Jakub Jelinek, GCC Patches



> On 19 Jul 2021, at 11:39, Richard Biener via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> 
> On Fri, Jul 16, 2021 at 12:37 PM Serge Belyshev
> <belyshev@depni.sinp.msu.ru> wrote:
>> 
>> Based on discussion I've chosen open-coded version without commit hash.
> 
> As said I'd prefer one with (shortened) hash,

Likewise, I’ve been using a local change to produce “r12-2447-gcca1e30db142”  since soon after
change; I suspect that 12 digits is ‘enough’.  It makes it easier for the folks who want to find by 
SHA1 as well as folks who want to find by revision number.

> but then I'm not angry
> if people agree on sth else.

also likewise…

> 
>>>>>> ...  Perhaps rename the r, o, rr and m temporaries.
>> 
>> I like it better with short names, there is no other code in that
>> script to clash with.  (Also, two adjacent case branches for hg and svn
>> are essentialy dead now).
>> 
>>>> ...  Perhaps also replace both HEAD occurences with $revision
>> 
>> not sure about that: should not they be exactly equivalent in all cases?
>> 
>> ---
>> gcc_update: use human readable name for revision string in gcc/REVISION
>> 
>> contrib/Changelog:
>> 
>>        * gcc_update: derive human readable name for HEAD using git describe
>>        like "git gcc-descr" does.  Drop "revision" from gcc/REVISION.
>> ---
>> contrib/gcc_update | 19 +++++++++++++++++--
>> 1 file changed, 17 insertions(+), 2 deletions(-)
>> 
>> diff --git a/contrib/gcc_update b/contrib/gcc_update
>> index 80fac9fc995..558926b3a2d 100755
>> --- a/contrib/gcc_update
>> +++ b/contrib/gcc_update
>> @@ -332,7 +332,22 @@ case $vcs_type in
>>             exit 1
>>        fi
>> 
>> -       revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
>> +       # Open-coded version of "git gcc-descr" from contrib/gcc-git-customization.sh
>> +       revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
>> +       r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
>> +          | 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'`;
>> +       if test -n $r; then
>> +               o=`$GCC_GIT config --get gcc-config.upstream`;
>> +               rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
>> +               if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
>> +                       m=releases/gcc-$rr;
>> +               else
>> +                       m=master;
>> +               fi;
>> +               if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
>> +                       revision=$r;
>> +               fi
>> +       fi
>>        branch=`$GCC_GIT name-rev --name-only HEAD || :`
>>        ;;
>> 
>> @@ -414,6 +429,6 @@ rm -f LAST_UPDATED gcc/REVISION
>>     date
>>     echo "`TZ=UTC date` (revision $revision)"
>> } > LAST_UPDATED
>> -echo "[$branch revision $revision]" > gcc/REVISION
>> +echo "[$branch $revision]" > gcc/REVISION
>> 
>> touch_files_reexec


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-07-19 10:47               ` Iain Sandoe
@ 2021-07-19 11:09                 ` Jakub Jelinek
  2021-07-19 11:23                   ` [PATCH v3] " Serge Belyshev
  0 siblings, 1 reply; 16+ messages in thread
From: Jakub Jelinek @ 2021-07-19 11:09 UTC (permalink / raw)
  To: Iain Sandoe; +Cc: Richard Biener, Serge Belyshev, GCC Patches

On Mon, Jul 19, 2021 at 11:47:01AM +0100, Iain Sandoe wrote:
> 
> 
> > On 19 Jul 2021, at 11:39, Richard Biener via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> > 
> > On Fri, Jul 16, 2021 at 12:37 PM Serge Belyshev
> > <belyshev@depni.sinp.msu.ru> wrote:
> >> 
> >> Based on discussion I've chosen open-coded version without commit hash.
> > 
> > As said I'd prefer one with (shortened) hash,
> 
> Likewise, I’ve been using a local change to produce “r12-2447-gcca1e30db142”  since soon after
> change; I suspect that 12 digits is ‘enough’.  It makes it easier for the folks who want to find by 
> SHA1 as well as folks who want to find by revision number.

If the patch is changed from
	revision=$r;
to
	revision=${r}-g${revision};
then the exact hash length isn't hardcoded to 12 digits, but whatever git
chooses to make it unique (with the current state of repository).
Of course, changes later on in the repository can introduce collisions and
more hash letters might be needed, but that is a general git problem.  And
at least when we have the rXX-YYYY-gZZZZZZZZZ revisions, it is still unique
on the release branches, just one might need to use
$(git gcc-descr `echo $rev | sed 's/-g[0-9a-f]*$//'`)
instead of just
$rev
in case such collision happens if git tells rXX-YYYY-gZZZZZZZZ is ambiguous.

	Jakub


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v3] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-07-19 11:09                 ` Jakub Jelinek
@ 2021-07-19 11:23                   ` Serge Belyshev
  2021-09-06  9:49                     ` Serge Belyshev
  0 siblings, 1 reply; 16+ messages in thread
From: Serge Belyshev @ 2021-07-19 11:23 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Iain Sandoe, Richard Biener, GCC Patches


>> > On 19 Jul 2021, at 11:39, Richard Biener via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>> > 
>> > On Fri, Jul 16, 2021 at 12:37 PM Serge Belyshev
>> > <belyshev@depni.sinp.msu.ru> wrote:
>> >> 
>> >> Based on discussion I've chosen open-coded version without commit hash.
>> > 
>> > As said I'd prefer one with (shortened) hash,

Oh, I misunderstood then.

>> 
>> Likewise, I’ve been using a local change to produce “r12-2447-gcca1e30db142”  since soon after
>> change; I suspect that 12 digits is ‘enough’.  It makes it easier for the folks who want to find by 
>> SHA1 as well as folks who want to find by revision number.
>
> If the patch is changed from
> 	revision=$r;
> to
> 	revision=${r}-g${revision};
> then the exact hash length isn't hardcoded to 12 digits, but whatever git
> chooses to make it unique (with the current state of repository).
> Of course, changes later on in the repository can introduce collisions and
> more hash letters might be needed, but that is a general git problem.  And
> at least when we have the rXX-YYYY-gZZZZZZZZZ revisions, it is still unique
> on the release branches, just one might need to use
> $(git gcc-descr `echo $rev | sed 's/-g[0-9a-f]*$//'`)
> instead of just
> $rev
> in case such collision happens if git tells rXX-YYYY-gZZZZZZZZ is ambiguous.
>

Right, variant with hash has the advantage that it is understood by git
out of the box without customisations, so be it then.

OK for mainline?

---
contrib/Changelog:

	* gcc_update: derive human readable name for HEAD using git describe
	like "git gcc-descr" with short commit hash.  Drop "revision" from gcc/REVISION.
---
 contrib/gcc_update | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/contrib/gcc_update b/contrib/gcc_update
index 80fac9fc995..ce472545e25 100755
--- a/contrib/gcc_update
+++ b/contrib/gcc_update
@@ -332,7 +332,22 @@ case $vcs_type in
             exit 1
 	fi
 
-	revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
+	# Open-coded version of "git gcc-descr" from contrib/gcc-git-customization.sh
+	revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
+	r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
+	   | 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'`;
+	if test -n $r; then
+		o=`$GCC_GIT config --get gcc-config.upstream`;
+		rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
+		if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
+			m=releases/gcc-$rr;
+		else
+			m=master;
+		fi;
+		if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
+			revision=${r}-g${revision};
+		fi
+	fi
 	branch=`$GCC_GIT name-rev --name-only HEAD || :`
 	;;    
 
@@ -414,6 +429,6 @@ rm -f LAST_UPDATED gcc/REVISION
     date
     echo "`TZ=UTC date` (revision $revision)"
 } > LAST_UPDATED
-echo "[$branch revision $revision]" > gcc/REVISION
+echo "[$branch $revision]" > gcc/REVISION
 
 touch_files_reexec

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
  2021-07-16  7:29   ` Jakub Jelinek
  2021-07-16  9:22     ` Richard Biener
@ 2021-07-19 13:53     ` Richard Earnshaw
  2021-07-19 14:09       ` Jakub Jelinek
  1 sibling, 1 reply; 16+ messages in thread
From: Richard Earnshaw @ 2021-07-19 13:53 UTC (permalink / raw)
  To: Jakub Jelinek, Richard Biener; +Cc: Serge Belyshev, GCC Patches

On 16/07/2021 08:29, Jakub Jelinek via Gcc-patches wrote:
> On Fri, Jul 16, 2021 at 09:06:01AM +0200, Richard Biener via Gcc-patches wrote:
>> On Thu, Jul 15, 2021 at 9:12 PM Serge Belyshev
>> <belyshev@depni.sinp.msu.ru> wrote:
>>>
>>> This is to make development version string more readable, and
>>> to simplify navigation through gcc-testresults.
>>>
>>> Currently gcc_update uses git log --pretty=tformat:%p:%t:%H to
>>> generate version string, which is somewhat excessive since conversion
>>> to git because commit hashes are now stable.
>>>
>>> Even better, gcc-git-customization.sh script provides gcc-descr alias
>>> which makes prettier version string, and thus use it instead (or just
>>> abbreviated commit hash when the alias is not available).
>>>
>>> Before: [master revision b25edf6e6fe:e035f180ebf:7094a69bd62a14dfa311eaa2fea468f221c7c9f3]
>>> After: [master r12-2331]
>>>
>>> OK for mainline?
>>
>> Can you instead open-code gcc-descr in this script?
> 
> Yeah, that will mean consistency no matter whether one has the
> customizations installed or not.
> And, you don't want the effect of $GCC_GIT gcc-descr but $GCC_GIT gcc-descr HEAD
> (the default is $GCC_GIT gcc-descr master).
> As you want to use gcc-descr without --full, I think
> 	revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
> 	r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
> 	   | 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'`;
> 	if test -n $r; then
> 		o=`$GCC_GIT config --get gcc-config.upstream`;
> 		rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
> 		if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
> 			m=releases/gcc-$rr;
> 		else
> 			m=master;
> 		fi;
> 		if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
> 			revision=$r;
> 		fi
> 	fi
> will do it.  Perhaps rename the r, o, rr and m temporaries.
> 
> 	Jakub
> 

Isn't this going to do the wrong thing on any branch that isn't master
or a release branch?  I don't think git gcc-descr is meaningful outside
of those contexts.

R.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION
  2021-07-19 13:53     ` [PATCH] gcc_update: use gcc-descr git alias " Richard Earnshaw
@ 2021-07-19 14:09       ` Jakub Jelinek
  0 siblings, 0 replies; 16+ messages in thread
From: Jakub Jelinek @ 2021-07-19 14:09 UTC (permalink / raw)
  To: Richard Earnshaw; +Cc: Richard Biener, Serge Belyshev, GCC Patches

On Mon, Jul 19, 2021 at 02:53:13PM +0100, Richard Earnshaw wrote:
> > Yeah, that will mean consistency no matter whether one has the
> > customizations installed or not.
> > And, you don't want the effect of $GCC_GIT gcc-descr but $GCC_GIT gcc-descr HEAD
> > (the default is $GCC_GIT gcc-descr master).
> > As you want to use gcc-descr without --full, I think
> > 	revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
> > 	r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
> > 	   | 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'`;
> > 	if test -n $r; then
> > 		o=`$GCC_GIT config --get gcc-config.upstream`;
> > 		rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
> > 		if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
> > 			m=releases/gcc-$rr;
> > 		else
> > 			m=master;
> > 		fi;
> > 		if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
> > 			revision=$r;
> > 		fi
> > 	fi
> > will do it.  Perhaps rename the r, o, rr and m temporaries.
> > 
> > 	Jakub
> > 
> 
> Isn't this going to do the wrong thing on any branch that isn't master
> or a release branch?  I don't think git gcc-descr is meaningful outside
> of those contexts.

git merge-base --is-ancestor test should fail on those branches,
origin/releases/gcc-11 or origin/master etc. will then not have your HEAD
as their ancestor.

	Jakub


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-07-19 11:23                   ` [PATCH v3] " Serge Belyshev
@ 2021-09-06  9:49                     ` Serge Belyshev
  2021-09-06  9:54                       ` Jakub Jelinek
  0 siblings, 1 reply; 16+ messages in thread
From: Serge Belyshev @ 2021-09-06  9:49 UTC (permalink / raw)
  To: GCC Patches; +Cc: Iain Sandoe, Richard Biener, Jakub Jelinek

Ping?

[PATCH v3] gcc_update: use human readable name for revision string in gcc/REVISION
https://gcc.gnu.org/pipermail/gcc-patches/2021-July/575556.html

>
> OK for mainline?
>
> ---
> contrib/Changelog:
>
> 	* gcc_update: derive human readable name for HEAD using git describe
> 	like "git gcc-descr" with short commit hash.  Drop "revision" from gcc/REVISION.
> ---
>  contrib/gcc_update | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/gcc_update b/contrib/gcc_update
> index 80fac9fc995..ce472545e25 100755
> --- a/contrib/gcc_update
> +++ b/contrib/gcc_update
> @@ -332,7 +332,22 @@ case $vcs_type in
>              exit 1
>  	fi
>  
> -	revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
> +	# Open-coded version of "git gcc-descr" from contrib/gcc-git-customization.sh
> +	revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
> +	r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
> +	   | 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'`;
> +	if test -n $r; then
> +		o=`$GCC_GIT config --get gcc-config.upstream`;
> +		rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
> +		if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
> +			m=releases/gcc-$rr;
> +		else
> +			m=master;
> +		fi;
> +		if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
> +			revision=${r}-g${revision};
> +		fi
> +	fi
>  	branch=`$GCC_GIT name-rev --name-only HEAD || :`
>  	;;    
>  
> @@ -414,6 +429,6 @@ rm -f LAST_UPDATED gcc/REVISION
>      date
>      echo "`TZ=UTC date` (revision $revision)"
>  } > LAST_UPDATED
> -echo "[$branch revision $revision]" > gcc/REVISION
> +echo "[$branch $revision]" > gcc/REVISION
>  
>  touch_files_reexec

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-09-06  9:49                     ` Serge Belyshev
@ 2021-09-06  9:54                       ` Jakub Jelinek
  2021-09-06 13:01                         ` Serge Belyshev
  0 siblings, 1 reply; 16+ messages in thread
From: Jakub Jelinek @ 2021-09-06  9:54 UTC (permalink / raw)
  To: Serge Belyshev; +Cc: GCC Patches, Iain Sandoe, Richard Biener

On Mon, Sep 06, 2021 at 12:49:18PM +0300, Serge Belyshev wrote:
	* gcc_update: derive human readable name for HEAD using git describe

After : start with upper case, ^^^ Derive

	like "git gcc-descr" with short commit hash.  Drop "revision" from gcc/REVISION.

Too long line.

Otherwise LGTM.

> > --- a/contrib/gcc_update
> > +++ b/contrib/gcc_update
> > @@ -332,7 +332,22 @@ case $vcs_type in
> >              exit 1
> >  	fi
> >  
> > -	revision=`$GCC_GIT log -n1 --pretty=tformat:%p:%t:%H`
> > +	# Open-coded version of "git gcc-descr" from contrib/gcc-git-customization.sh
> > +	revision=`$GCC_GIT log -n1 --pretty=tformat:%h`
> > +	r=`$GCC_GIT describe --all --match 'basepoints/gcc-[0-9]*' HEAD \
> > +	   | 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'`;
> > +	if test -n $r; then
> > +		o=`$GCC_GIT config --get gcc-config.upstream`;
> > +		rr=`echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'`;
> > +		if $GCC_GIT rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then
> > +			m=releases/gcc-$rr;
> > +		else
> > +			m=master;
> > +		fi;
> > +		if $GCC_GIT merge-base --is-ancestor HEAD ${o:-origin}/$m; then
> > +			revision=${r}-g${revision};
> > +		fi
> > +	fi
> >  	branch=`$GCC_GIT name-rev --name-only HEAD || :`
> >  	;;    
> >  
> > @@ -414,6 +429,6 @@ rm -f LAST_UPDATED gcc/REVISION
> >      date
> >      echo "`TZ=UTC date` (revision $revision)"
> >  } > LAST_UPDATED
> > -echo "[$branch revision $revision]" > gcc/REVISION
> > +echo "[$branch $revision]" > gcc/REVISION
> >  
> >  touch_files_reexec

	Jakub


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v3] gcc_update: use human readable name for revision string in gcc/REVISION
  2021-09-06  9:54                       ` Jakub Jelinek
@ 2021-09-06 13:01                         ` Serge Belyshev
  0 siblings, 0 replies; 16+ messages in thread
From: Serge Belyshev @ 2021-09-06 13:01 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: GCC Patches, Iain Sandoe, Richard Biener

Jakub Jelinek <jakub@redhat.com> writes:

> On Mon, Sep 06, 2021 at 12:49:18PM +0300, Serge Belyshev wrote:
> 	* gcc_update: derive human readable name for HEAD using git describe
>
> After : start with upper case, ^^^ Derive
>
> 	like "git gcc-descr" with short commit hash.  Drop "revision" from gcc/REVISION.
>
> Too long line.
>
> Otherwise LGTM.

Thanks!  Changed and committed as r12-3370-g78b34cd8a80.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2021-09-06 13:01 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-15 19:12 [PATCH] gcc_update: use gcc-descr git alias for revision string in gcc/REVISION Serge Belyshev
2021-07-16  7:06 ` Richard Biener
2021-07-16  7:29   ` Jakub Jelinek
2021-07-16  9:22     ` Richard Biener
2021-07-16  9:36       ` Jakub Jelinek
2021-07-16  9:39         ` Richard Biener
2021-07-16 10:37           ` [PATCH v2] gcc_update: use human readable name " Serge Belyshev
2021-07-19 10:39             ` Richard Biener
2021-07-19 10:47               ` Iain Sandoe
2021-07-19 11:09                 ` Jakub Jelinek
2021-07-19 11:23                   ` [PATCH v3] " Serge Belyshev
2021-09-06  9:49                     ` Serge Belyshev
2021-09-06  9:54                       ` Jakub Jelinek
2021-09-06 13:01                         ` Serge Belyshev
2021-07-19 13:53     ` [PATCH] gcc_update: use gcc-descr git alias " Richard Earnshaw
2021-07-19 14:09       ` Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).