On Mon, Mar 26, 2012 at 03:15:17PM -0500, John wrote: > $ svn merge --record-only ^/myproject/trunk/subdir@2676 subdir > > $ svn pg 'svn:mergeinfo' subdir > subdir - /myproject/branches/W/subdir:1488-2675 > /myproject/branches/Y/subdir:5925-7118 > /myproject/trunk/subdir:1488-7532 > > $ svn pg 'svn:mergeinfo' subdir/A > (At this point the merginfo on subdir/A has been elided.)
Great! > I'm now seeing the desired elision behavior, but I do not fully understand > why using "--record-only" changed the behavior so dramatically. > Without the "--record-only" flag, nothing was modified. > e.g. > $ svn merge -q ^/myproject/trunk/subdir@2780 subdir > $ svn diff > [no output from svn diff] > > Shouldn't the changes to "svn:mergeinfo" be the same, > regardless of whether or not "--record-only" is used? I think this happens because there are no operative revisions for 'subdir' in the range being merged. As of the 1.7 release, Subversion no longer creates mergeinfo changes for unaffected subtrees during merges. See http://subversion.apache.org/docs/release-notes/1.7.html#subtree-mergeinfo-recording However, this behaviour wasn't implemented for record-only merges. Record-only merges still update all subtree mergeinfo within the merge target. I don't know why record-only merges behave differently. Perhaps the new behaviour is too difficult to implement for record-only merges, or maybe this difference exists on purpose.