Re: [PATCH v3 02/13] Documentation/technical: describe remembering renames optimization

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

 



On Thu, May 20, 2021 at 4:32 AM Bagas Sanjaya <bagasdotme@xxxxxxxxx> wrote:
>
> On 20/05/21 13.09, Elijah Newren via GitGitGadget wrote:
> > +Outline:
> > +
> > +  0. Assumptions
> > +
> > +  1. How rebasing and cherry-picking work
> > +
> > +  2. Why the renames on MERGE_SIDE1 in any given pick are *always* a
> > +     superset of the renames on MERGE_SIDE1 for the next pick.
> > +
> > +  3. Why any rename on MERGE_SIDE1 in any given pick is _almost_ always also
> > +     a rename on MERGE_SIDE1 for the next pick
> > +
> > +  4. A detailed description of the the counter-examples to #3.
> > +
> > +  5. Why the special cases in #4 are still fully reasonable to use to pair
> > +     up files for three-way content merging in the merge machinery, and why
> > +     they do not affect the correctness of the merge.
> > +
> > +  6. Interaction with skipping of "irrelevant" renames
> > +
> > +  7. Additional items that need to be cached
> > +
> > +  8. How directory rename detection interacts with the above and why this
> > +     optimization is still safe even if merge.directoryRenames is set to
> > +     "true".
> > +
> > +
>
> For item 1, 2, 3, 5, 8, it seems that you form question sentences but ended
> with dot, instead of question mark (?). Are these question sentences or
> descriptive sentences?

I should probably just leave off the ending punctuation on all of
these (looks like I goofed on items 2, 4, 5, and 8), since these are
headings and not full sentences.  For example, item 1 is "Here is a
description of how rebasing and cherry-picking work".  Titles are
often just sentence fragments because they're trying to be concise
while highlighting some kind of summary of what their
section/chapter/part/whatever contains.

> > +=== 0. Assumptions ===
> > +
> > +There are two assumptions that will hold throughout this document:
> > +
> > +  * The upstream side where commits are transplanted to is treated as the
> > +    first parent side when rebase/cherry-pick call the merge machinery
> > +
> > +  * All merges are fully automatic
> > +
>
> Did you mean that "fully automatic" merges are merges that can be done
> without conflicts?

No, as stated below when I explain that assumption, I mean "there is
no interruption for a user to resolve conflicts or to just further
edit or tweak files".  The fact that a merge can be done without
conflicts isn't enough, the user also needs to not interrupt the
process (as in using 'edit' in an interactive rebase) as well.



[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