public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "Saleem,
	Shiraz" <shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [ANNOUNCE] Shared pull requests (was Re: Workflow for i40iw patch submissions)
Date: Tue, 26 Sep 2017 12:03:01 -0400	[thread overview]
Message-ID: <6fa41141-cae5-da51-94ef-afe5bdec22bd@redhat.com> (raw)
In-Reply-To: <20170926065600.GA6816-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 6618 bytes --]

On 9/26/2017 2:56 AM, Leon Romanovsky wrote:
> On Tue, Sep 26, 2017 at 08:13:49AM +0300, Leon Romanovsky wrote:
>> On Mon, Sep 25, 2017 at 10:31:47PM -0400, Doug Ledford wrote:
>>> On 9/25/2017 11:57 AM, Leon Romanovsky wrote:
>>>> On Mon, Sep 25, 2017 at 10:53:01AM -0400, Doug Ledford wrote:
>>>>> On 9/24/2017 11:59 PM, Leon Romanovsky wrote:
>>>>>> On Sat, Sep 23, 2017 at 11:03:25AM -0400, Doug Ledford wrote:
>>>>>>
>>>>>> <...>
>>>>>>
>>>>>>>
>>>>>>> I want any shared pull requests to be based on nothing newer than an
>>>>>>> rc2 kernel.  I branch my for-next branch at rc2, so if your pull
>>>>>>> request is on something later it will pollute my main for-next branch
>>>>>>> to merge it.  I plan to merge my own -rc pull requests after rc2 into
>>>>>>> my for-next branch, so you won't be missing code that goes into later
>>>>>>> rcs if you base your work on my for-next branch, so that's a second
>>>>>>> alternative starting point for your shared pull requests should you
>>>>>>> need it.
>>>>>>
>>>>>> From our experience, it is not feasible to demand shared pull
>>>>>> requests on "newer than an rc2 kernel".
>>>>>
>>>>> I said "nothing newer than an rc2 kernel".  Did you mean to leave out
>>>>> the nothing?
>>>>
>>>> Most probably I translated it incorrectly. I wanted to say that all
>>>> shared pull requests will be -rc2, -rc3, e.t.c. and probably will never
>>>> be -rc1. Did you mean the same?
>>>>
>>>>>
>>>>>> The magic of shared pull request
>>>>>> is in the fact that it is based on the same origin for both trees.
>>>>>
>>>>> Correct.  So, for instance, I'm opening up my for-next area today and it
>>>>> will be based on a clean v4.14-rc2.  What I'm then asking for is that
>>>>> subsequent driver shared pull requests be based on a v4.14-rc2 tree.
>>>>> Your last shared pull request was mostly OK, but it was based on a
>>>>> v4.13-rc4 kernel and so it would have simultaneously brought in your
>>>>> patches and also all the changes between 4.13-rc2 and 4.13-rc4.
>>>>
>>>> Why is it "undesired behavior"? Anyhow git request-pull to Linus will
>>>> filter all patches which already exist in Linus's tree and you will get
>>>> merge of -rc fixes for free in your for-next.
>>>
>>> You obviously have not been paying attention when Linus yells at me.
>>
>> I do, but probably we are understanding Linus's responses differently.
>>
>> You probably mean the conversation after that pull request.
>>  * First round of RC fixes for 4.13
>>    https://marc.info/?l=linux-rdma&m=150039306716272&w=2

More than just that conversation.  There have been offline conversations
too.

>> He started to complain about empty merge commit with v4.13-rc1, and continued with explanations
>> about difference between back and forward merges. From my point of view, my intention to base
>> shared pull request on latest -rcX is exactly forward (good) merge, because it ensures that
>> all our future submissions for net/net-next/rdma-rc/rdma-next are completely in sync and
>> ready to go.

This is why, when I submit a pull request for -rc, I also merge it into
for-next.  It keeps this up to date as you say, without needing to pull
in all of the -rc, so it gives Linus an easier history to look at.  It
does not, however, sync up the net side of things.

> And if we are talking about back-forward merges, the following merge is
> a back one and it was mentioned by Linus as a bad type of merge which
> should be avoided:
>  * Merge tag 'v4.14-rc2' into k.o/for-next
>    https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git/commit/?h=k.o/for-next&id=0d9c2ff1c9f7f8b339fc42ac9763b28c71f1c115
> 
> Because your previous for-next was fully merged

It was...

> and new one was opened after
> -rc2

It was...

> and your initial pull request with fixes was accepted during in -rc1 too,

It was...

> you was supposed simply reset your for-next to v4.14-rc2 tag
> git reset --hard v4.14-rc2) as a starting point of for-next.

I didn't think this would work on k.o (and it's why I did the merge),
but it does work.  The reason I didn't think it would work is that even
though v4.14-rc2 and my branch merged with v4.14-rc2 have the same final
image, their path to get there (as shown by git log --oneline
--topo-order) would be different.  As such, I expected the k.o git
server to kick it as a non-fast-forward update when I attempted to push
after having used git reset --hard v4.14-rc2.  But, it didn't, it took
it, and a git pull of the tree before the reset and after the reset was
totally non-eventful.  So, I won't do that next time.

> Thanks
> 
>>
>>> This is something he specifically does *not* want, and if you send me a
>>> shared pull request that is based on, say, -rc4, then I can't merge it
>>> into my for-next branch and instead of I have to carry a separate branch
>>> and send a separate pull request just for that branch.
>>
>> I don't think so, but we can probably catch Linus at KS next month and
>> ask him directly.
>>
>>>
>>> The reason is that Linus wants to be able to pull up gitk on my pull
>>> request and see the changes I am submitting for easy review.  If I merge
>>> a shared pull request that also includes an update to the -rc level of
>>> my tree, then all those -rc patches get mixed into the gitk ordering and
>>> it makes it hard for Linus to find just the patches he wants.  So, this
>>> is a Linus issue, not so much my issue.  If he didn't care, I wouldn't
>>> either, but this is the way it is.
>>>
>>
>> I don't know how gitk presents git history, but the following command
>> "git log --graph --no-merges -- drivers/infiniband include/rdma/ include/uapi/rdma" works like
>> a charm and presents only RDMA related commits.
>>
>> Other replies from Linus about late submission, compiler warnings, tree-wide changes,
>> request to separate pull requests, fix with strange name ("Add ...") are completely unrelated.
>>
>> I read upto 19 Mar 2016, in that pull request Linus explained to us how we should create shared pull request.
>> Everything before is not relevant for shared pull requests.
>>
>> Thanks
>>
>>>
>>> --
>>> Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>>>     GPG Key ID: B826A3330E572FDD
>>>     Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD
>>>
>>
>>
>>
> 
> 


-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
    GPG Key ID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

  parent reply	other threads:[~2017-09-26 16:03 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <9DD61F30A802C4429A01CA4200E302A75B9FB085@fmsmsx116.amr.corp.intel.com>
     [not found] ` <9DD61F30A802C4429A01CA4200E302A75B9FB085-5FK+k9557ZBZtRGVdHMbwrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-09-23 15:03   ` [ANNOUNCE] Shared pull requests (was Re: Workflow for i40iw patch submissions) Doug Ledford
     [not found]     ` <1506179005.120853.67.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-24 19:56       ` Jason Gunthorpe
     [not found]         ` <20170924195627.GB18007-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-09-25  4:23           ` Leon Romanovsky
     [not found]             ` <20170925042355.GM25094-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-09-26  3:33               ` Jason Gunthorpe
     [not found]                 ` <20170926033343.GA10193-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-09-26  5:28                   ` Leon Romanovsky
     [not found]                     ` <20170926052805.GC1230-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-09-28 15:53                       ` Jason Gunthorpe
2017-09-25  6:42           ` Christoph Hellwig
2017-09-25  3:59       ` Leon Romanovsky
     [not found]         ` <20170925035910.GL25094-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-09-25 14:53           ` Doug Ledford
     [not found]             ` <5abacb7d-3e86-4e12-ce95-a8fe472a6a09-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-25 15:57               ` Leon Romanovsky
     [not found]                 ` <20170925155749.GO25094-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-09-26  2:31                   ` Doug Ledford
     [not found]                     ` <7c01cef3-0471-8339-3498-1d9ec4f8a9d3-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-26  5:13                       ` Leon Romanovsky
     [not found]                         ` <20170926051349.GA1230-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-09-26  6:56                           ` Leon Romanovsky
     [not found]                             ` <20170926065600.GA6816-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-09-26 16:03                               ` Doug Ledford [this message]
     [not found]                                 ` <6fa41141-cae5-da51-94ef-afe5bdec22bd-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-26 16:20                                   ` Doug Ledford
2017-09-26 16:21                                   ` Leon Romanovsky
     [not found]                                     ` <20170926162140.GF6816-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-09-26 16:23                                       ` Doug Ledford
     [not found]                                         ` <4707c600-7aec-2c14-11d6-0443c2a835e3-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-09-26 16:34                                           ` Leon Romanovsky
2017-09-28 16:29                                   ` Jason Gunthorpe

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=6fa41141-cae5-da51-94ef-afe5bdec22bd@redhat.com \
    --to=dledford-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.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