Re: RFC tips-for-maintainers.txt (was Re: [GIT PULL] platform-drivers-x86 for 4.6-3)
On Thu, Apr 28, 2016 at 02:25:00PM +1000, Michael Ellerman wrote: > 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> > > 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? > Wow, thanks for doing this! > > Git pulls should start "[GIT PULL]": > > > http://lkml.kernel.org/r/CA+55aFxURVwV4NZcPsVzQ-Ui9Nmn2vdXVw==s5rkhxc1y4b...@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. I would suggest we extract and consolidate the direction we receive from Linus and write it up in our own words, rather than using quotes and having the reader piece them together. Linus has said he does not like to be prescriptive, he'd rather say "don't do this" than "everyone must do this". However, I think our documentation should include guidelines and known good methods. So for this subject, perhaps: -- Git pull requests should include the "[GIT PULL]" prefix in the subject and contains "please pull" somewhere in the body. The "git request-pull" command will generate an acceptable email message body. http://lkml.kernel.org/r/CA+55aFxURVwV4NZcPsVzQ-Ui9Nmn2vdXVw==s5rkhxc1y4b...@mail.gmail.com -- In my opinion, this tool should be more robust and generate the full email body using parameters, which is why I (and many other maintainers) use wrapper scripts. We could include an example here, but that's probably best left to some kind of a tooling repository or updates to git itself. > > > 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+...@mail.gmail.com > > On Sat, Sep 5, 2015 at 2:37 AM, Neil Brown 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). > Similar comments for this one. Also s/tree/branch/ All the above really can be condensed into something like this: -- Send your pull requests based off the Linux master branch and leave the merging to Linus as he prefers to see the conflicts. If
Re: RFC tips-for-maintainers.txt (was Re: [GIT PULL] platform-drivers-x86 for 4.6-3)
On Thu, Apr 28, 2016 at 02:25:00PM +1000, Michael Ellerman wrote: > 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 > > > 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? > Wow, thanks for doing this! > > Git pulls should start "[GIT PULL]": > > > http://lkml.kernel.org/r/CA+55aFxURVwV4NZcPsVzQ-Ui9Nmn2vdXVw==s5rkhxc1y4b...@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. I would suggest we extract and consolidate the direction we receive from Linus and write it up in our own words, rather than using quotes and having the reader piece them together. Linus has said he does not like to be prescriptive, he'd rather say "don't do this" than "everyone must do this". However, I think our documentation should include guidelines and known good methods. So for this subject, perhaps: -- Git pull requests should include the "[GIT PULL]" prefix in the subject and contains "please pull" somewhere in the body. The "git request-pull" command will generate an acceptable email message body. http://lkml.kernel.org/r/CA+55aFxURVwV4NZcPsVzQ-Ui9Nmn2vdXVw==s5rkhxc1y4b...@mail.gmail.com -- In my opinion, this tool should be more robust and generate the full email body using parameters, which is why I (and many other maintainers) use wrapper scripts. We could include an example here, but that's probably best left to some kind of a tooling repository or updates to git itself. > > > 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+...@mail.gmail.com > > On Sat, Sep 5, 2015 at 2:37 AM, Neil Brown 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). > Similar comments for this one. Also s/tree/branch/ All the above really can be condensed into something like this: -- Send your pull requests based off the Linux master branch and leave the merging to Linus as he prefers to see the conflicts. If the merge is complex, or contains some
RFC tips-for-maintainers.txt (was Re: [GIT PULL] platform-drivers-x86 for 4.6-3)
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 Hartwrote: > > > > > > 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==s5rkhxc1y4b...@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+...@mail.gmail.com On Sat, Sep 5, 2015 at 2:37 AM, Neil Brown 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-fgtlsq...@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+pkrqcfgn6f...@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
RFC tips-for-maintainers.txt (was Re: [GIT PULL] platform-drivers-x86 for 4.6-3)
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 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==s5rkhxc1y4b...@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+...@mail.gmail.com On Sat, Sep 5, 2015 at 2:37 AM, Neil Brown 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-fgtlsq...@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+pkrqcfgn6f...@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