Branko Čibej wrote:

> On 18.01.2012 14:45, Julian Foad wrote:
>>>  A@1---r4---r5---r6---r7----------------r11----------->
>>>    |\                                     ^          |
>>>    | \                                   |          |
>>>    |  \                              reintegrate     |
>>>    |   V                                  |          |
>>>    |   A_COPY_2-----------------r9---r10---          |
>>>    |                            ^                sync merge
>>>    |                           /                      |
>>>    |                  cherry-pick merge of r8       |
>>>    V                         /                        V
>>>    A_COPY-------------------r8------------------------->
>> 
>>  Thanks for this good example of a more complex use case.  I've included 
>> it in <http://wiki.apache.org/subversion/KeepingReintegratedBranchAlive> 
>> and written up a discussion of the options there.
>> 
>>  What do we want in this case?  The options are basically:

(To be sure we're talking about the same thing, here I'm talking about how 
Subversion decides whether to merge the change "r11" from A onto A_COPY.)

>>    (1) try to merge (as we do now), despite knowing it will conflict;
> 
> Actually, you know that it will not conflict, unless r9 or r10
> introduced changes in the same place as r8. Otherwise the code is the
> same and diff3 should skip that part, yes?

No; I mean in general it will conflict.  Yes there are certain simple changes 
that the three-way text merge function will detect as "looks like that change 
has already been made here" and auto-resolve it as a no-op, but that's beside 
the point.

[sorry, can't reply to the rest just now]

- Julian

Reply via email to