> 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.

Reply via email to