All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <mpe@ellerman.id.au>
To: Darren Hart <dvhart@infradead.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>, corbet@lwn.net
Subject: RFC tips-for-maintainers.txt (was Re: [GIT PULL] platform-drivers-x86 for 4.6-3)
Date: Thu, 28 Apr 2016 14:25:00 +1000	[thread overview]
Message-ID: <1461817500.25861.3.camel@ellerman.id.au> (raw)
In-Reply-To: <20160427165719.GA51171@f23x64.localdomain>

On Wed, 2016-04-27 at 09:57 -0700, Darren Hart wrote:
> On Wed, Apr 27, 2016 at 09:08:01AM -0700, Linus Torvalds wrote:
> > On Tue, Apr 26, 2016 at 10:02 PM, Darren Hart <dvhart@infradead.org> wrote:
> > >
> > > Found myself not wanting to send a one patch pull request, but not wanting to
> > > wait until RC6 and possibly miss 4.6.
> > >
> > > Do you have a preference during the RC cycle in terms of balance between patch
> > > count and frequency for a small subsystem like platform-driver-x86?
> >
> > Once a week like this is fine, even if it's just a single trivial
> > one-liner change.
...

> Very helpful, thank you Linus. I believe I just inherited a TODO to find the
> right spot in the documentation to record this.

Actually I've been meaning to do that for ages, and I have a few more collected
in my notes.

How do these look?


  Git pulls should start "[GIT PULL]":

      http://lkml.kernel.org/r/CA+55aFxURVwV4NZcPsVzQ-Ui9Nmn2vdXVw==S5RKhXC1y4b8og@mail.gmail.com

       just for your information: this pull request doesn't show up with my
      normal merge-window search pattern of "git pull", because you never
      actually say "pull" anywhere.

      Please use a subject with "[GIT PULL]" prefix (preferred), or just
      change the body of the email to have a "please pull" in it or
      something.  I get too much email, and particularly during the merge
      window it really helps if I can keep my pull emails separate from
      other stuff by just having them match a simple pattern.


  Linus generally likes to see merge conflicts himself, for subtle conflicts
  you can provide a separate tree with the result of your merge:

      http://lkml.kernel.org/r/CA+55aFwM2e9sTVtYjrnPjh5RsZafBXbJ5FFYkYi730ojOn+8-w@mail.gmail.com

      On Sat, Sep 5, 2015 at 2:37 AM, Neil Brown <neil@brown.name> wrote:
      >
      > Please pull these updates.  I've already merged with the 'block' tree
      > to resolve a few simple conflicts.

      So for the future, I actually prefer to see and handle the conflicts myself.

      I really just prefer knowing what's going on, and merge conflicts are
      an indication of cross-maintainer issues which are *exactly* the kinds
      of things I want to be aware of.

      However, in this case I was "ok, I've already done several other merge
      resolutions with the wbole damn bio_endio error handling changes", so
      I felt I was aware enough about how that ended up being a
      cross-subsystem conflict, and just took your pre-merged version.

      If you feel that the conflicts are particularly subtle, or just
      generally worry about the merge, or just because you want to do some
      merge-testing, what some people end up doing is to send me their
      unmerged branch, and then send me a separate ".. and here's the merge
      I did". I'll then do the merge myself anyway, but then after doing the
      merge I'll switch to a temporary testing branch and re-do the  merge
      with the pre-merged state just to verify. Generally the end result is
      identical, but when it isn't, that's actually usually interesting
      (sometimes it's just a ordering difference, but sometimes it's a merge
      error - and so far I think most merge errors have come from
      sub-maintainers, for the simple reason that they generally aren't as
      used to merging as I am - so even if they know the code better, I
      sometimes catch merge gotcha's better).

  Don't rebase your tree between linux-next and requesting a pull unless you
  absolutely must:

      http://lkml.kernel.org/r/CA+55aFyrep8hMApzYA4DyFgEoHc8o8KATTV=Jqf6-FgtLsqFOQ@mail.gmail.com

      Just stop [rebasing]. I'll handle the merge issues. If there are
      complicated merge problems that you really worry about, what you can do
      is

       (a) make a test-merge just to check

       (b) do NOT send me that test-merge

       (c) as part of the pull request, tell me that "there's a conflict
      because xyz, and this is how we think it should be handled".

      ...

      There are valid reasons to rebase, but those are along the line of "we
      messed up catastrophically, and we _have_ to clean up the history".

      A simple merge conflict due to a trivial duplicated commit is not a reason.

  Linus likes signed tags with a short blurb:

      http://lkml.kernel.org/r/CA+55aFwa9b5=aYKXNKfCaQN27PFY8GChuhCK+pkrqCfGn6FpKQ@mail.gmail.com

      .. the above is a tag, but it's not signed, nor even annotated. So it
      has no message about what the fixes are in it, it's just the plain
      SHA1 id.

      Now, I don't really require signed tags from kernel.org, but it would
      still be nice. And I *do* want a little blurb about the fixes, even if
      it doesn't have to be all that exhaustive. Putting that in the tag is
      convenient, but I'm ok with it being just in the email message too,
      like you usually do.

  Linus really wants signed tags when pulling from non-kernel.org, even if your
  key is not (yet) signed by other kernel devs:

      http://lkml.kernel.org/r/CA+55aFzXUoh6ktJ+wWmwdg6ERjHJWbvrKQ5CoRCy-Sw620Ex+g@mail.gmail.com

      I really want to see signed tags when pulling from non-kernel.org places.

      Even if you don't have signatures I can check on your keys, I want to
      see your key used for signing anyway, so that when your next pull
      request comes in I see that it's the same key (and hopefully you
      _will_ have signatures on your key eventually).

      And: CA+55aFw0f9bojYF4_NGXE7ZgPn4oOoWELBnyJRVRjfX3cuJBag@mail.gmail.com

  Sending a weekly pull request during the rc period is a good pattern, but
  more frequent is fine as long as there is a reason:

      http://lkml.kernel.org/r/CA+55aFwtirweH2pwo9T5=CtrHeEYtLyYtCZXmOOefo3e24tFdA@mail.gmail.com

      I don't mind small pull requests at all, and I don't see "just one
      tiny commit" as being a bad thing. Quite the reverse. Those pull
      requests are easy, and it just makes me feel "good, that subsystem is
      calm and quiet, but not because the maintainer is not responding to
      people".

      In fact, getting small pull requests more often that once a week is
      also perfectly fine, although at that point there should be some
      _reason_ for it. But there are lots of valid reasons ("this is urgent
      because X", but also obviously things like "I maintain five different
      topic branches, this fourth pull request this week is for that other
      topic").

      The thing to avoid is a pattern of lots of pointless small pull
      requests, and in particular "oh, we found a problem in the last
      hurried pull requests, so here's _another_ half-arsed hurried pull
      request to fix that". At that point, I'd much rather just see the
      maintainer keep the commits in his tree for longer, and test them
      better, and just let them cook a bit more. So I _will_ complain if I
      notice that there's commits that are very recent and they look dodgy.

  And: http://lkml.kernel.org/r/CA+55aFyv0i7x5ZcHK6VnUdkbRtzQPPUxYUm_s1DMoPBqf0n=Mg@mail.gmail.com

      One pattern that is _very_ clear here is how the pull requests I get
      are bunched up at the end of the week. More than half of all my pulls
      were done Friday and particularly Saturday. I'm not complaining, I
      think it's just a sign of how there weren't any particularly urgent
      things going on this week, and so people send in their pull requests
      at the end of the work-week and/or just knowing that the rc is coming
      up.

cheers

  reply	other threads:[~2016-04-28  4:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-27  4:58 [GIT PULL] platform-drivers-x86 for 4.6-3 Darren Hart
2016-04-27  5:02 ` Darren Hart
2016-04-27 16:08   ` Linus Torvalds
2016-04-27 16:57     ` Darren Hart
2016-04-28  4:25       ` Michael Ellerman [this message]
2016-04-28 17:43         ` RFC tips-for-maintainers.txt (was Re: [GIT PULL] platform-drivers-x86 for 4.6-3) Darren Hart

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=1461817500.25861.3.camel@ellerman.id.au \
    --to=mpe@ellerman.id.au \
    --cc=corbet@lwn.net \
    --cc=dvhart@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.