On Wed, Feb 27, 2013 at 5:04 PM, Julian Foad <julianf...@btopenworld.com> wrote:
> Paul Burba wrote:
>
>> On Mon, Feb 18, 2013 at 11:54 AM, Mark Phippard <markp...@gmail.com>
>> wrote:
>>
>>>  BTW, how are you managing your branch?  I tried merging it back to
>>>  trunk to get an idea on the diff and there were a lot of text and tree
>>>  conflicts.  I thought I had seen you doing synch merges from trunk in
>>>  the past so I assumed it would merge back.
>>
>> On Thu, Feb 21, 2013 at 5:05 AM, Stefan Fuhrmann
>> <stefan.fuhrm...@wandisco.com> wrote:
>>
>>>  Hm. I split fsfs.c and .h into multiple files on the
>>>  branch and the first merge from /trunk required
>>>  significant manual intervention. Since that, merges
>>>  have been clean because fsfs.* wasn't touched
>>>  on /trunk.
>>>
>>>  If I understand Julian's merge changes in 1.8,
>>>  reintegrating should work because there has been
>>>  no cherry picking etc.
>>
>> On Thu, Feb 21, 2013 at 11:04 AM, Mark Phippard <markp...@gmail.com>
>> wrote:
>>
>>>  I see this when using 1.8:
>>>
>>>  $ svn mergeinfo ^/subversion/branches/fsfs-format7
>>>      youngest common ancestor
>>>      |         last full merge
>>>      |         |        tip of branch
>>>      |         |        |         repository path
>>>
>>>      1414755            1448697
>>>      |                  |
>>>         --| |------------         subversion/branches/fsfs-format7
>>>        /
>>>       /
>>>    -------| |------------         subversion/trunk
>>>                         |
>>>                         1447423
>>>
>>>  It seems to imply that it does not think you have ever synched with
>>>  trunk.  So maybe it is trying to replay every revision from your
>>>  branch when I merge back and that is why it gets so many conflicts?
>>
>> I found the cause of the conflict filled reintegrate merge.  The
>> automatic merge code seems to be doing the right thing re Mark's
>> automatic merge above, the problem arises earlier.
>
> Paul, thanks for investigating.  While I'm glad to hear the automatic merge 
> was not the main root cause of the problem, it would make sense for it to 
> detect that merges in the opposite direction have been done and at least warn 
> the user.

Hi Julian,

What are we going to warn them to do exactly?  To explicitly use
--reintegrate option?  Because that would work in Stefan's case, so we
should just do it rather than warn...unless you mean something else.

I filed an issue for this:
http://subversion.tigris.org/issues/show_bug.cgi?id=4329 and added a
test which demonstrates a very simple version of the problem.  I set
issue #4329 a 1.8 blocker.  While I think what Stefan is doing is
somewhat atypical[1], if we are deprecating --reintegrate, then
automatic merges should handle cases like this.  After all, if we
explicitly use the --reintegrate option the merge works fine.  What do
others think?

[1] Doing *cherrypick* merges to effectively keep a branch in sync
with trunk and then using an *automatic* merge to "reintegrate" the
branch back to trunk.

>  It really doesn't make sense to proceed with the merging in a case like this.
>
> - Julian

-- 
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba

Reply via email to