If I try to reverse-merge the contents of a specific file over a range of commits that includes a rename, svn seems to break the commits up at the rename and try to reverse-merge in the wrong order.
svn merge --accept=postpone -r5:1 new --- Reverse-merging r3 through r2 into 'new': C new --- Reverse-merging r5 through r4 into 'new': C new Summary of conflicts: Text conflicts: 2 There would have been no conflicts if it did "r5 through r4" first, then "r3 through r2" second. Attached is a script that demonstrates the issue, as well as the output of the script on my machine. The last command in the script is the one that has the unexpected conflicts. Thanks, -jim
test.sh
Description: Bourne shell script
Checked out revision 0. + svn --version + head -1 svn, version 1.6.17 (r1128011) + echo r1 + svn add file A file + svn commit -m r1 Adding file Transmitting file data . Committed revision 1. + echo r2 + svn commit -m r2 Sending file Transmitting file data . Committed revision 2. + echo r3 + svn commit -m r3 Sending file Transmitting file data . Committed revision 3. + svn merge --dry-run --accept=postpone -r3:1 file --- Reverse-merging r3 through r2 into 'file': U file + svn mv file new A new D file + svn commit -m 'r4 renamed' Deleting file Adding new Committed revision 4. + echo r5 + svn commit -m r5 Sending new Transmitting file data . Committed revision 5. + : ---------------------------------------------------- + : ---------------------------------------------------- + svn merge --accept=postpone -r5:1 new --- Reverse-merging r3 through r2 into 'new': C new --- Reverse-merging r5 through r4 into 'new': C new Summary of conflicts: Text conflicts: 2 + : ---------------------------------------------------- + : ----------------------------------------------------