I'll attach a shell script demonstrating this bug. First, here's the recipe in
prose:
1. Create a repository /trunk, /branches, /branches/branchA, and
/branches/branchB. Both branches were branched from trunk,
but that doesn't matter for this recipe.
2. Check out a working copy of branchA. In that wc, create a
subdir, and at least one file in the subdir. Run 'svn add'
on the subdir, then commit.
3. Check out a working copy of branchB. In that wc, do
'svn merge -rX:Y http://.../branches/branchA', where
Y is the revision committed in step 2 above, and X is
Y - 1.
4. Commit the merge, producing revision Z.
5. Run 'svn log -v -rZ http://FULL_REPOS_URL/'. See the
'R'eplace operation mentioned in the log. It shouldn't
be there.
See about-to-be-attached script for details.