Re: [PATCH] SubmittingPatches: add section for iterating patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Patrick Steinhardt <ps@xxxxxx> writes:

> On Tue, May 14, 2024 at 02:30:39PM +0200, Karthik Nayak wrote:
>> From: Karthik Nayak <karthik.188@xxxxxxxxx>
>> Add a section to explain how to work around other in-flight patches and
>> how to navigate conflicts which arise as a series is being iterated.
>> This will provide the necessary steps that users can follow to reduce
> s/This will/This provides/

Thanks, will change!

>> friction with other ongoing topics and also provides guidelines on how
>> the users can also communicate this to the list efficiently.
>> Co-authored-by: Junio C Hamano <gitster@xxxxxxxxx>
>> Suggested-by: Junio C Hamano <gitster@xxxxxxxxx>
>> Signed-off-by: Karthik Nayak <karthik.188@xxxxxxxxx>
>> ---
>> This came off a discussion wherein I sent a series based on `next`
>> instead of merging in conflicts [1]. This is mostly worded by Junio and
>> I've just put it together into a patch.
>> This is based off master, with 'jc/patch-flow-updates' merged in.
> :)
>> [1]:
>>  Documentation/SubmittingPatches | 79 +++++++++++++++++++++++++++++++++
>>  1 file changed, 79 insertions(+)
>> diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
>> index 8332073e27..2fd94dc8de 100644
>> --- a/Documentation/SubmittingPatches
>> +++ b/Documentation/SubmittingPatches
>> @@ -608,6 +608,85 @@ patch, format it as "multipart/signed", not a text/plain message
>>  that starts with `-----BEGIN PGP SIGNED MESSAGE-----`.  That is
>>  not a text/plain, it's something else.
>> +=== Handling Conflicts and Iterating Patches
>> +
>> +When revising changes made to your patches, it's important to
>> +acknowledge the possibility of conflicts with other ongoing topics. To
>> +navigate these potential conflicts effectively, follow the recommended
>> +steps outlined below:
> Okay. I was first wondering why we only mention conflicts when revising
> changes. But I see there are other parts in the document where we
> already mention the potential for conflicts, so this is fine.
>> +. Build on a suitable base branch, see the <<choose-starting-point, section above>>,
>> +and format-patch the series. If you are doing "rebase -i" in-place to
>> +update from the previous round, this will reuse the previous base so
>> +(2) and (3) may become trivial.
>> +
>> +. Find the base of where the last round was queued
> It's somewhat unusual for bulleted lists to start with a dot, but this
> is consistent with the remainder of this document.

Yeah, that's mostly why I added dots instead of asterisks here.

> [snip]
>> +Do not forget to write in the cover letter you did this, including the
>> +topics you have in your base on top of 'master'.  Then go to (4).
>> +
>> +. Make a trial merge of your topic into 'next' and 'seen', e.g.
>> ++
>> +    $ git checkout --detach 'origin/seen' &&
>> +    $ git revert -m 1 <the merge of the previous iteration into seen> &&
>> +    $ git merge kn/ref-transaction-symref
> Let's remove the trailing '&&' lines. The leading dollar indicates that
> this is interactive, so you wouldn't concatenate the commands like this.
> Also, preceding code didn't have it.

Yeah, agreed, I will remove here and below

>> +The "revert" is needed if the previous iteration of your topic is
>> +already in 'seen' (like in this case).  You could choose to rebuild
>> +master..origin/seen from scratch while excluding your previous
>> +iteration, which may emulate what happens on the maintainers end more
>> +closely.
>> ++
>> +This trial merge may conflict.  It is primarily to see what conflicts
>> +_other_ topics may have with your topic.  In other words, you do not
>> +have to depend on to make your topic work on 'master'.  It may become
> I think there's either a word too many or missing  -- depend on what?

's/depend on/depend on it/' should do I think.

>> +the job of the other topic owners to resolve conflicts if your topic
>> +goes to 'next' before theirs.
>> ++
>> +Make a note on what conflict you saw in the cover letter.  You do not
>> +necessarily have to resolve them, but it would be a good opportunity to
>> +learn what others are doing in an related area.
> s/an/a

I think it makes sense to make it 's/an related area/related areas/'.

>> ++
>> +    $ git checkout --detach 'origin/next' &&
>> +    $ git merge kn/ref-transaction-symref
> Same comment here regarding the ampersands.
> Other than that the additions look good to me, thanks!
> Patrick

Thanks for the review. Will send a follow up version!

Attachment: signature.asc
Description: PGP signature

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux