Re: understand Diff Formatting --cc flag?

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

 



On Thu, Mar 17, 2022 at 12:04 AM Junio C Hamano <gitster@xxxxxxxxx> wrote:
>
> Andy Zhang <zhgdrx@xxxxxxxxx> writes:
>
> > understand Diff Formatting --cc flag?
> >
> > hi,
> >
> >   It is really too hard to understand Diff Formatting --cc flag.
> >
> >   It is hard to understand"...hunks whose contents in the parents have
> > only two variants..".
> >
> >   My question is:
> >    1)what does "variant" mean here?
>
> You may be comparing a merge of 5 parents into 1 child.  There are 5
> pairwise comparison (parent#1 with the child, parent#2 with the
> child, ..., parent#5 with the child).
>
> Among 5 parents, perhaps parent#1 and parent#2 had the same contents,
> and parent#4 and parent#5 had the same contents, different from what
> parent#1 and parent#3 had.  You have 3 variants (parent#1's, #3's
> and #4's; parent#2 has the same contents as #1, parent#5 has the
> same contents as #4).
>

[Andy wrote:] as per your comments, The 3 variants are indeed into the
following 3 groups.
My question is: why can #1 appear inside multiple groups? A and B.
   <group-A> parent#1, #3, #4;
   <group-B> parent#2, #1;
   <group-C> parent#5, #4;


> >    2)what about all the other cases? 0 variants, 1 variants, and 3
> > variants and even more?
>
> By definition, you wouldn't be making any comparison if there are 0
> variants.  1 variant means all the parents are identical, so
> whichever parent you are interested in, the difference to the child
> is interesting---such a change can only come from the person who
> merged adding a change that no parent wanted to have.  If many
> parents are different then showing the comparison with the final
> resolution from them is useful.  The case that is not so interesting
> is when one set of parents had something (call it A), and the other
> set of parents had something else (B), and the result is A.  There is
> no interesting merge conflict in there.
>

[Andy wrote:] can I explain  "--cc" flag as:
"--cc lists only either hunks which were modified from all parents, or
hunks which were modified from at least two parents and they had
different variants"



[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