> Sorry for the late response, but I lack the time to dig deeper. It > should work as in the example (test) that Stanimir Stamenkov posted > earlier in this thread. > > Is your case the same as in the DERBY issue that Stanimir referenced > [1]? Maybe you can narrow it down to a test with a repository from > scratch, or narrow down to a specific step that might have confused > the tree conflict resolver? > > Perhaps someone else on this list has some more ideas / can zoom in > on > the case in [1]? > > [1] > https://issues.apache.org/jira/browse/DERBY-7144?focusedCommentId=17582731&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17582731 >
I don't fully follow that Derby example, but it does not look like the same thing. I built my own experiment which I'll try to reconstruct here: mkdir test mkdir test/foo mkdir test/foo/bar mkdir test/baz echo "a" > test/foo/bar/example.c svn import test svn+ssh://theserver/var/svn/playground/test rm -rf test svn co svn+ssh://theserver/var/svn/playground/test cd test svn cp . ^/playground/test2 cd .. svn co svn+ssh://theserver/var/svn/playground/test2 cd test echo "b" > foo/bar/example.c svn commit cd ../test2 svn merge ^/playground/test . This causes some interesting back-and-forth as it first records the tree conflict on foo/bar, then starts checking for tree conflicts. Looks like 1.14 did at least improve on the results though. 1.10 searched back through the revisions and finally gave up with: Tree conflict on 'foo/bar': Changes destined for a directory arrived via the following revisions during merge of '^/playground/test/foo/bar:34563-34565': r34562 by dnsands, r34565 by dnsands No such file or directory was found in the merge target working copy. The directory was moved to '^/playground/test2/baz/bar' in r34564 by dnsands. Subversion is not smart enough to resolve this tree conflict automatically! See 'svn help resolve' for more information. 1.14 was able to fully resolve the conflict by itself: Changes destined for a directory arrived via the following revisions during merge of '^/playground/test/foo/bar:34563-34565': r34562 by dnsands, r34565 by dnsands No such file or directory was found in the merge target working copy. The directory was moved to '^/playground/test2/baz/bar' in r34564 by dnsands. Applying recommended resolution 'Apply to move destination': --- Merging differences between repository URLs into 'baz/bar': U baz/bar/example.c Tree conflict at 'foo/bar' marked as resolved. Summary of conflicts: Tree conflicts: 0 remaining (and 1 already resolved) That's nice for this example at least, but it would seem that my actual case was a bit more complex, as even 1.14 was unable to find the original file. I'll have to see if I can reproduce that in a simpler case. What I know is that it was unable to find a common ancestor where the incoming merge destination existed.