On Thu, May 6, 2010 at 4:16 PM, Matthias Weyh <m.w...@technisat.de> wrote: > Hello, > > Since I did not get any responses to my question on the users group and > this might be a bug I am reposting this to the dev user group. > > I am looking forward to your answers. > > Thanks, > Matthias > > -----Ursprüngliche Nachricht----- > Von: Matthias Weyh [mailto:m.w...@technisat.de] > Gesendet: Donnerstag, 29. April 2010 08:26 > An: us...@subversion.apache.org > Betreff: Tree conflicts on merging into a branch > > Hello, > > I have seen an issue with subversion in which tree conflicts are being > produced when creating a branch from a working copy in which not all > files are at the same revision. This is happening when trying to merge > changes into this branch. > > Please refer to the following sequence. Is this supposed to be happening > in this way? I do not exactly understand what causes the tree conflicts. > Shouldn't there at least be a warning on trying to copy from a working > copy with mixed revisions? >
<snipped /> > test>svn ci -m "stuff" > Adding d1 > Adding d1\f1.txt > Adding d2 > Adding d2\f1.txt > Adding d3 > Adding d3\f1.txt > Transmitting file data ... > Committed revision 2. At this point, the root of the working copy is still r1 - committing children of a directory does not bump the revision of the parent directory. You need to explicitly run an 'svn update .' here before the copy. > test>svn copy . https://localhost/svn/test/branches/b1 -m "created b1" > > Committed revision 3. As a result, this copy causes the following 'copy-from' information: - b1 is copied from trunk @ r1 - d1, d2, and d3 are all copied from trunk @ r2 > test>svn merge https://localhost/svn/test/trunk > --- Merging r2 through r4 into '.': > A d1_r > A d1_r\f1.txt > C d2 > C d3 > Summary of conflicts: > Tree conflicts: 2 And so here, because b1 was copied from trunk @ r1, then everything from r2 up to HEAD is 'eligible' to be merged into the branch. This can be confirmed with 'svn mergeinfo --show-revs eligible'. > D:\repositories\test>svn status -v > M 4 3 weyh . > 4 3 weyh d1 > 4 2 weyh d1\f1.txt > C 4 3 weyh d2 > > local add, incoming add upon merge > 4 2 weyh d2\f1.txt > A + - ? ? d1_r > A + - 2 weyh d1_r\f1.txt > C 4 3 weyh d3 > > local add, incoming add upon merge > 4 2 weyh d3\f1.txt Thats probably the best I can do for an explanation. As to whether its a bug or by design, I can't help you. But, on the surface, it sounds as though creating branches from mixed-revision working copies will cause problems with merging. Regards, Daniel B.