public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* Gerrit status update
@ 2019-11-22 21:58 Simon Marchi
  2019-11-23  0:25 ` Tom Tromey
  2019-12-06  0:14 ` Luis Machado
  0 siblings, 2 replies; 5+ messages in thread
From: Simon Marchi @ 2019-11-22 21:58 UTC (permalink / raw)
  To: gdb-patches

Hi all,

We had a discussion on IRC yesterday about the shortcomings of Gerrit
for our workflow.  I'd like to share what was discussed, but also give
a chance to those who are not on IRC to have a voice.

The two main problems of Gerrit, when applied to our current workflow,
are related to patch series.  While it is possible to upload a sequence
of changes, it is not possible to treat a sequence of changes as a
logical patch series.  And therefore:

- It is not possible to attach a cover letter to a series.
- The email notifications are not threaded like a series would.  It's
  basically impossible to follow a series by email, as each patch will
  have its own little thread.

Some people (including me) may not mind these problems too much, but
they are important enough to some people that I don't think it would be
wise to continue using Gerrit for now.  Otherwise it will just increase
the friction for contributing and reviewing.  If Gerrit ever evolves
to handle patch series like we want it to, I would be happy to give it
another try.

I'd like to know what people think about this.

If we agree that we want to stop using Gerrit, I would disable the
creation of new changes, but still allow commenting and uploading new
change versions, so we can at least finish with the changes that are
there already.

---

If we abandon Gerrit, the question is, what now?  We have started
looking into a patch tracker after Tom Tromey mentioned at the Cauldron
that patches getting lost on the list was a problem (which I think most
people agree with).  Gerrit helped by giving us a list of open changes,
that would could filter and search however we liked.  It also brought
other advantages (and disadvantages), but the initial problem was
tracking pending patches.

The other tool that gets mentioned often, which could help with this, is
Patchwork:

  http://jk.ozlabs.org/projects/patchwork/

There is already a Patchwork instance that tracks the GDB mailing list
here:

  https://patchwork.sourceware.org/project/gdb/list/

that we have tried to use in the past (now it's filled with Gerrit
notifications, don't mind those, it's not representative of how it would
look).  The problem was that manual intervention was needed to update
the status of patches, which was never done, so it didn't help.

A newer version of Patchwork includes a git hook that can supposedly
automatically close patches when they are pushed to the git repository:

  https://patchwork.readthedocs.io/en/latest/deployment/installation/#optional-configure-your-vcs-to-automatically-update-patches

If this works reasonably well enough, it could automate a good part of
the grunt work and make Patchwork usable.

I am just a bit skeptical about how well (if it does it at all)
Patchwork handles patches or series versions.  If I send a v1 series
with 15 patches, then a v2 with 17 patches, including a few renamed
subjects, how does it cope with that?  I am a bit afraid that it won't
be that good (though I'd like to be proven wrong) and that it will
require a lot of manual work to close patches.

The good news is that it should be possible to try this with a local
Patchwork test instance:

1. Feed it a bunch of messages from the gdb-patches archive, see how
   it handles patches/series versions.
2. Then, feed it the git commits from binutils-gdb, see how well it
   auto closes patches.

I might do that in the following days, when I have some free time and
a sudden impulse of motivation.

Gerrit is able to track the multiple versions of a change because we
insert a unique Change-Id in the commit log of each patch.  This is very
reliable, and it would make handling of new versions/merged patches very
accurate.  But it goes against the Patchwork design:

  https://patchwork.readthedocs.io/en/latest/usage/design/

  "Don’t pollute the project’s changelogs with Patchwork poop

   A project’s changelogs are valuable - we don’t want to add Patchwork-specific metadata."

So unfortunately, we won't get that from upstream.  But it would always
be possible to modify Patchwork to add this feature for our own
enjoyment.  Nothing would force people who send patches to have this
Id, but if the majority of the frequent contributors use it, it could
still be useful.

Simon

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

end of thread, other threads:[~2019-12-06 16:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-22 21:58 Gerrit status update Simon Marchi
2019-11-23  0:25 ` Tom Tromey
2019-12-06 16:44   ` Simon Marchi
2019-12-06  0:14 ` Luis Machado
2019-12-06 16:19   ` Simon Marchi

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).