RFE: use patchwork to submit a patch

Konstantin Ryabitsev konstantin at linuxfoundation.org
Fri Oct 11 09:05:41 AEDT 2019

On Fri, Oct 11, 2019 at 08:38:49AM +1100, Daniel Axtens wrote:
>Hi Konstantin,
>tl;dr: I think a git-to-email bridge is a good step. I'm not sure why
>patchwork would be the thing to build it on top of, and I'm worried that
>it would slow us both down. I'm very open to being convinced though.

In very broad terms, I chose patchwork because:

1. in people's minds patchwork.kernel.org already deals with patches and 
   mailing lists, so it seems to be a logical place for such tool to 
2. it's already built on top of a powerful web system (django), and we 
   already have it up and running, so this wouldn't require setting up 
   Yet Another Web Framework Service

I will readily admit that both of these assertions are pretty tenuous.

>If I understand correctly, you're using Patchwork as:
>> - user creates an account (which requires a mail confirmation)
> a) an identity provider, and

Well, rather as a tool that already has account management which 
includes email confirmation at some point.

> b) a way to integrate with existing concepts of a project and keep
>    metadata about them in 1 place


> c) a handy tool for getting previous series by a given user.

Yes, it's convenient to already have that user's previously submitted 
series readily available.

> d) a 'trusted' source of email.

Well, this part isn't really that important. Rather, it's a tool where, 
to have an account, one must confirm email delivery.

>Is that right? I just ask because this idea seems a long way from what
>Patchwork traditionally does. That's not necessarily bad, I just want to
>make sure I understand, and that if you get funding you're not tying
>yourself to a platform that doesn't suit your needs.

Well, in my mind patchwork:

1. already deals with patches and series, including knowing how to do 
   diff highlights and all the fancy stuff
2. will hopefully gain ability to do interdiffs in the future, so if 
   someone submits a series revision, they can see what actually changed 
   before their previous submission and their new attempt
3. already has a lot of knowledge around git, mboxes, formats, etc.

This, of course, is not to say that patchwork is where this *must* 
happen, but I think it would be *nice* if this is where this happens. :)

>I'm particularly curious about Patchwork as (a) an identity
>provider. You wrote:
>> - user creates an account (which requires a mail confirmation)
>This seems like "optional centralising" on Patchwork - it becomes a
>central identity provider but it's optional in that you can just send
>email directly if you prefer.

Right, this is a tool to help people allergic to CLI (or who do this 
infrequently enough that they can never remember all the steps, and oh 
my god, why isn't there a web tool to hold my hand?).

>If you're going to do 'lightweight' centralisation like that, why not do
>it on a platform that already understands git? It's really easy to
>extract the information you describe in (c) just by querying the
>patchwork API. You don't need to actually integrate into patchwork, or
>be logged in, to do that. You lose the ability to load any git remote,
>but if you have a git remote that isn't github or gitlab, you probably
>already have a good email flow (e.g. if you repo is on kernel.org).
>If you really want to use Patchwork as an identity provider, rather than
>a forge, could we just teach Patchwork how to be an identity broker, and
>then build things separately, authenticating through Patchwork to
>confirm a user's identity? That means you could build in whatever
>language you like and, critically, run on whatever deployment schedule
>you want. You could also get much better isolation that way, which would
>be good - I don't want an RCE in the git library to allow someone to
>wipe out all patchwork data, for example.

Well, ve hawe vays of prewenting that (e.g. by transitioning git calls 
into their own selinux domain which cannot talk to databases). 

>> I know this is a pretty big RFE, and I would like to hear your thoughts
>> about this. If there is general agreement that this is doable/good idea,
>> I may be able to come up with funding for this development as part of
>> the overall tooling improvement proposal.
>As I said up top, I'm not opposed to this per se. I think a git-to-email
>bridge is a good step. I'm just confused as to why patchwork would be
>the thing to build it on top of, and I'm worried about how you'd deploy
>and update this extended Patchwork. I'm very open to being convinced

Generally, I think patchwork, as a web application that already deals 
with patches and series is a convenient place for this tool to live, 
that's basically the extent of my thinking. For sure, it can exist as a 
separate tool, but then I'd have to set up and maintain that separate 
tool in addition to patchwork, as opposed to just patchwork.


More information about the Patchwork mailing list