I just completed my worst merge yet, or so I thought. We use SVN 1.4 (I know, we should upgrade). The branch has been synched multiple times with trunk so I used this approach:
Merge a range of revisions, not including the merge from trunk. No commit Merge another range of revisions skipping the revision containing the merge from trunk. No commit Merged the final range of revisions skipping the second merge from trunk Build OK, Tests OK, Commit Then other people started checking out trunk and for them it didn't work. The best way I can describe it is by showing you what happens when I run some CLI commands: ### At the working copy of trunk that I used for the merge svn up At revision 60684. svn st --- nothing find . -name ShouldBeDeleted* ./path/to/src/.svn/text-base/ShouldBeDeleted.java.svn-base ### At a fresh checkout of trunk svn up At revision 60684. svn st --- nothing find . -name ShouldBeDeleted* ./path/to/src/.svn/text-base/ShouldBeDeleted.java.svn-base ./path/to/src/ShouldBeDeleted.java <-------- this file should not be there! I'm expecting one of two things. Either "svn st" should show a deletion of ShouldBeDeleted.java on commit in the trunk that works. Or ShouldBeDeleted.java should be deleted in the fresh checkout of trunk. Please help :)