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"