You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Timur Khanipov <kh...@gmail.com> on 2015/08/19 19:20:22 UTC

Two-step merge ok, one-step merge conflicts

Hi folks.

I faced the following problem. The command
  svn merge -r 3:4 -r 4:5 ^^/trunk
works smoothly while command
  svn merge -r 3:5 ^^/trunk
results in a text conflict. This seems like a buggy behavior (since
the two merges are equivalent).

I reproduced it in a simple situation when trunk contains only a
single file. Here is a list of revisions:

r1. Initial directory structure (trunk and branches).
r2. Add file trunk/foo.
r3. Create branch branches/test from trunk.
r4. Set svn:eol-style to native on trunk/foo.
r5. Modify text in trunk/foo.

After that I checkout branches/test and try to perform the merge
(which only sets svn:eol-style on trunk/foo and modifies its content).
Then I get the aforementioned conflict.

I performed the test with the following Subversion version:

svn, version 1.9.0 (r1692801)
   compiled Aug  3 2015, 21:00:08 on x86-microsoft-windows

I attach the script (cmd batch file) which creates local repository
and performs all the preparation to demonstrate the problem (please
remove the .txt extension to run it).

My guess is that svn:eol-style change is the root of the problem.
Could please somebody explain the behavior or confirm that this is a
bug?

RE: Two-step merge ok, one-step merge conflicts

Posted by Andrew Reedick <jr...@incomm.com>.
> -----Original Message-----
> From: Timur Khanipov [mailto:khanipov@gmail.com] 
> Sent: Wednesday, August 19, 2015 1:20 PM
> To: users@subversion.apache.org
> Cc: Иван Коптелов
> Subject: Two-step merge ok, one-step merge conflicts
>
> Hi folks.
>
> I faced the following problem. The command
>   svn merge -r 3:4 -r 4:5 ^^/trunk
> works smoothly while command
>   svn merge -r 3:5 ^^/trunk
> results in a text conflict. This seems like a buggy behavior (since the two merges are equivalent).

Same behavior in 1.8.10 (r1615264) on windows.

However, if you change the svn:eol-style to "CRLF", them "merge -r 3:5" works without a conflict.

It looks like "native" with the "merge -r 3:5" causes a conflict because of eol changes to the file in the middle of the merge process?  Also note, that with "native" the merge conflict appears to be with the EOLs and not with the text change you made.