From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Dmitry Vyukov <dvyukov@google.com>,
Shuah Khan <skhan@linuxfoundation.org>,
patchwork@lists.ozlabs.org, workflows@vger.kernel.org
Subject: Re: RFE: use patchwork to submit a patch
Date: Mon, 14 Oct 2019 18:27:31 +0300 [thread overview]
Message-ID: <20191014152731.GA23442@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20191014151711.GA654561@kroah.com>
Hi Greg,
On Mon, Oct 14, 2019 at 05:17:11PM +0200, Greg KH wrote:
> On Mon, Oct 14, 2019 at 04:58:17PM +0200, Dmitry Vyukov wrote:
> > On Fri, Oct 11, 2019 at 7:20 PM Shuah Khan wrote:
> > > On 10/11/19 2:57 AM, Greg KH wrote:
> > > > On Thu, Oct 10, 2019 at 10:41:50AM -0400, Konstantin Ryabitsev wrote:
> > > >> Hi, all:
> > > >>
> > > >> I would like to propose a new (large) feature to patchwork with the goal to
> > > >> make the process of submitting a patch easier for newbies and people
> > > >> generally less familiar with patch-based development. This was discussed
> > > >> previously on the workflows list:
> > > >> https://lore.kernel.org/workflows/20190930202451.GA14403@pure.paranoia.local/
> > > >>
> > > >> How I envision this would work:
> > > >>
> > > >> - user creates an account (which requires a mail confirmation) >> - they choose a "submit patch" option from the menu
> > > >> - the patch submission screen has a succession of screens:
> > > >>
> > > >> 1. a screen with a single field allowing a user to paste a URL to their
> > > >> fork of the git repository. Once submitted, patchwork does a "git
> > > >> ls-remote" to attempt to get a list of refs and to verify that this is
> > > >> indeed a valid git repository
> > > >
> > > > s/valid git repository/valid git repository based on the kernel git tree/
> > > >
> > > > Otherwise you might be sending out lots of emails for other projects :)
> > > >
> > > >>
> > > >> 2. next screen asks the user to select the ref to work from using the
> > > >> list obtained from the remote. Once submitted, patchwork performs a `git
> > > >> clone --reference` to clone the repository locally using a local fork of
> > > >> the same repo to minimize object transfer. This part requires that:
> > > >> a. patchwork project is configured with a path to a local fork,
> > > >> if this feature is enabled for a project
> > > >> b. that fork is kept current via some mechanism outside of
> > > >> patchwork (e.g. with grokmirror)
> > > >> c. there is some sanity-checking during the clone process to
> > > >> avoid abuse (e.g. a sane timeout, a tmpdir with limited size, etc
> > > >> -- other suggestions welcome)
> > > >>
> > > >> 3. next screen asks the user to pick a starting commit from the log.
> > > >> Once submitted, patchwork generates the patch from the commit provided
> > > >> to the tip of the branch selected by the user earlier,
> > > >> using git format-patch.
> > > >>
> > > >> 4. next screen asks the user to review the patch to make sure this is
> > > >> what they want to submit. Once confirmed, patchwork performs two
> > > >> admin-defined optional hooks:
> > > >>
> > > >> a. a hook to generate a list of cc's (e.g. get_maintainer.pl)
> > > >> b. a sanity check hook (e.g. checkpatch.pl)
> > > >
> > > > I will note that many "first patch" submissions are checkpatch.pl
> > > > cleanups for staging. When doing that, I require that they do "one
> > > > logical change per patch", which means that many of the individual
> > > > patches themselves will not be checkpatch.pl clean, because many lines
> > > > have multiple issues with them (tabs, spaces, format, length, etc.)
> > > >
> > > > So other than that minor thing, sounds interesting. It's hard to
> > > > determine just how difficult the whole "set up git and send a patch out"
> > > > process is for people these days given the _huge_ numbers of new
> > > > contributions we keep getting, and the numerous good tutorials we have
> > > > created that spell out exactly how to do this.
> > > >
> > > > So you might be "solving" a problem that we don't really have. It's
> > > > hard to tell :(
> > > >
> > >
> > > I agree with this. I don't think this a problem that is worth solving.
> > > When a new developer wants to send a patch, they don't need to create
> > > any accounts. They setup their email client and send patch.
> > >
> > > We have several resources that walk them through setting up email
> > > clients and sending patches. checkpatch.pl can be automated with
> > > git hooks.
> > >
> > > >> 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.
> > > >
> > > > The workflow seems sane, and matches what most people do today, with the
> > > > exception that it "solves" the git send-email issue, right? Is that our
> > > > biggest barrier?
> > > >
> > > > I would recommend interviewing some of the recent kernel mentor project
> > > > and outreachy applicants first, to try to determine exactly what their
> > > > problems, if any, were with our development process. If they say that
> > > > this type of tool/workflow would have saved them hours of time and
> > > > energy, then that's a great indication that we should try to do this.
> > > >
> > >
> > > I would say considering the number of applicants to mentorship program
> > > and new developers it will be lot overhead to require them to create
> > > patchwork accounts, and it might even be hard overtime. A lot of them
> > > start out and drop out in the middle. With the current setup, nothing
> > > to cleanup.
> > >
> > > Setting up email clients and git hooks is one time task. It is the
> > > easiest of the learning curve for many new developers. New developers
> > > struggle with getting the change logs right, coding styles right, and
> > > responding to review comments and acting on them.
> > >
> > > These aren't something that can be automated and they just have to
> > > learn through experience of sending patches.
> > >
> > > My opinion based on contact with new developers as well running the
> > > mentorship program, I would sat this isn't something that needs
> > > solving.
> >
> > As one data point, I cannot send emails with git send-email anymore.
> > It used to work, then broke and I don't know how to fix it. Now it says:
> >
> > 5.7.8 Username and Password not accepted. Learn more at
> > 5.7.8 https://support.google.com/mail/?p=BadCredentials
> > s10sm8376885wrr.5 - gsmtp
> >
> > I suspect it has something to do with two factor auth.
> > So that's it: it cannot contribute to kernel right now.
>
> That is because your employer changed how it manages imap. So yes, this
> configuration is now broken, you can not contribute to the kernel this
> way. They know about it, and there's an "opt-out" list you can sign up
> for if you want to fix it. Nothing the community can do about something
> crazy like this.
>
> > As another data point, I spoke to KP Singh at the Plumbers. He is a
> > "returning" kernel developer (so already did this before), he said it
> > took him 3 days and 52 configurations changes (all were committed to
> > git, so was possible to count exactly) to setup mail client properly.
> > And he is "staffed" to do kernel work, I would expect that most people
> > who don't _have_ to do kernel contributions will turn away half-way.
> >
> > As another data point, several people told me that they are afraid of
> > sending kernel patches b/c there is so much "on you" to do right.
> >
> > I would say that we need to aim at a process that does not require a
> > friendly experienced person to answer any of your questions in the
> > common case. Lots of people will simply not ask any questions.
>
> Again, interview the outreachy and mentorship applicants and see what
> they say about this.
>
> All corporate email systems do crazy things with email to help prevent
> them from participating in Linux kernel development. We have known this
> for decades. Is it the community's job to fix that, or is it the
> individual company's job to do that for when they want to have people
> participate?
As I have replied separately, I don't think it's our duty to fix
corporate e-mail servers, but when we know about common issues with
large e-mail providers, and especially when we know of possible
workarounds, I think it would be useful to centralise that information
in a place that newcomers can easily find.
> There's a good reason almost all Linux groups at companies have a Linux
> email server in the corner from which to send out patches from. This
> started 2 decades ago with IBM, and continues to this day with many many
> many other companies. That's proof that if a company does want to
> participate, it will do the needed work to do so.
>
> But that's not the group of people we are trying to help here, are we?
> I can't tell, there seems to be complaints from both sides (newbies and
> companies...)
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2019-10-14 15:27 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-10 14:41 RFE: use patchwork to submit a patch Konstantin Ryabitsev
2019-10-10 18:07 ` Mauro Carvalho Chehab
2019-10-10 19:42 ` Steven Rostedt
2019-10-10 19:53 ` Konstantin Ryabitsev
2019-10-10 20:05 ` Eric Wong
2019-10-10 20:21 ` Jonathan Nieder
2019-10-10 20:36 ` Eric Wong
2019-10-11 18:05 ` Mauro Carvalho Chehab
2019-10-10 20:20 ` Jonathan Nieder
2019-10-10 21:38 ` Daniel Axtens
2019-10-10 22:05 ` Konstantin Ryabitsev
2019-10-11 8:57 ` Greg KH
2019-10-11 17:20 ` Shuah Khan
2019-10-11 17:37 ` Mauro Carvalho Chehab
2019-10-11 18:01 ` Steven Rostedt
2019-10-11 18:32 ` David Miller
2019-10-11 18:44 ` Steven Rostedt
2019-10-11 18:51 ` Mauro Carvalho Chehab
2019-10-11 18:59 ` Mauro Carvalho Chehab
2019-10-11 19:02 ` Drew DeVault
2019-10-11 19:11 ` David Miller
2019-10-11 21:19 ` Stephen Hemminger
2019-10-11 21:47 ` Steven Rostedt
2019-10-11 22:54 ` Dave Airlie
2019-10-11 23:00 ` Steven Rostedt
2019-10-12 0:08 ` Stephen Hemminger
2019-10-12 0:14 ` Steven Rostedt
2019-10-13 23:38 ` Daniel Axtens
2019-10-14 10:42 ` Toke Høiland-Jørgensen
2019-10-14 12:26 ` Theodore Y. Ts'o
2019-10-14 13:18 ` Toke Høiland-Jørgensen
2019-10-14 13:41 ` Mauro Carvalho Chehab
2019-10-14 13:53 ` Theodore Y. Ts'o
2019-10-14 14:28 ` Mauro Carvalho Chehab
2019-10-14 15:25 ` Konstantin Ryabitsev
2019-10-14 12:27 ` Daniel Axtens
2019-10-14 13:19 ` Steven Rostedt
2019-10-14 14:58 ` Dmitry Vyukov
2019-10-14 15:12 ` Laurent Pinchart
2019-10-15 4:49 ` Dmitry Vyukov
2019-10-15 16:30 ` Laurent Pinchart
2019-10-14 15:17 ` Greg KH
2019-10-14 15:27 ` Laurent Pinchart [this message]
2019-10-15 4:41 ` Dmitry Vyukov
2019-10-15 16:07 ` Greg KH
2019-10-14 20:56 ` Theodore Y. Ts'o
2019-10-15 4:39 ` Dmitry Vyukov
2019-10-15 12:37 ` Steven Rostedt
2019-10-15 13:35 ` Theodore Y. Ts'o
2019-10-15 14:05 ` Steven Rostedt
2019-10-15 15:21 ` Konstantin Ryabitsev
2019-10-15 16:37 ` Laurent Pinchart
2019-10-15 16:47 ` Steven Rostedt
2019-10-21 15:39 ` Laurent Pinchart
2019-10-24 13:15 ` Steven Rostedt
2019-10-24 13:33 ` Dmitry Vyukov
2019-10-24 13:58 ` Steven Rostedt
2019-10-24 14:12 ` Dmitry Vyukov
2019-10-15 8:57 ` Eric Wong
2019-10-15 9:11 ` Dmitry Vyukov
2019-10-15 16:24 ` Laurent Pinchart
2019-10-15 16:27 ` Laurent Pinchart
2019-10-21 11:16 ` Dmitry Vyukov
2019-11-08 9:44 ` Dmitry Vyukov
2019-11-08 14:02 ` Theodore Y. Ts'o
2019-11-08 14:11 ` Dmitry Vyukov
2019-11-08 14:12 ` Dmitry Vyukov
2019-11-08 14:17 ` Konstantin Ryabitsev
2019-11-08 14:25 ` Dmitry Vyukov
2019-11-09 4:31 ` Theodore Y. Ts'o
2019-11-11 9:35 ` Dmitry Vyukov
2019-11-11 12:08 ` Mark Brown
2019-11-11 16:17 ` Theodore Y. Ts'o
2019-11-11 20:38 ` Konstantin Ryabitsev
2019-11-08 14:17 ` Laurent Pinchart
2019-10-11 20:02 ` Konstantin Ryabitsev
2019-10-11 21:23 ` Eric Wong
2019-10-11 21:35 ` Konstantin Ryabitsev
2019-10-12 7:19 ` Greg KH
2019-10-14 11:31 ` Mark Brown
2019-10-15 16:11 ` Konstantin Ryabitsev
2019-10-13 23:39 ` Eric Wong
2019-10-14 7:30 ` Geert Uytterhoeven
2019-10-14 22:18 ` Eric Wong
2019-10-15 15:34 ` Konstantin Ryabitsev
2019-10-14 15:33 ` Laurent Pinchart
2019-10-15 15:40 ` Konstantin Ryabitsev
2019-10-15 16:32 ` Laurent Pinchart
2019-10-15 16:34 ` Drew DeVault
2019-10-15 16:44 ` Laurent Pinchart
2019-10-15 17:07 ` Drew DeVault
2019-10-15 17:24 ` Konstantin Ryabitsev
2019-10-11 22:57 ` Dave Airlie
2019-10-12 7:31 ` Greg KH
2019-10-12 13:16 ` Stephen Finucane
2019-10-12 16:13 ` Stephen Finucane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191014152731.GA23442@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=dvyukov@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=patchwork@lists.ozlabs.org \
--cc=skhan@linuxfoundation.org \
--cc=workflows@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 NNTP newsgroup(s).