SVN Mergeinfo properties on paths other than the working copy root
I have an SVN repository where I have trunk and a branch.
I intend to merge the trunk into the branch at regular intervals, however, when I do this I see many property status changes, in addition to actual file content changes.
On further investigation the property changes are mergeinfo properties. I wouldn't expect this because we always branch and merge from the top root level.
I used the
svn propdel command and removed all mergeinfo properties from the branch WC (then reverted the change on the root) before merging trunk in, and the problem went away.
So the question is, how did my branch get all these mergeinfo changes in it at sub-directory levels?
Subversion 1.5.x adds a lot of svn:mergeinfo properties, even on files/folders which you think have nothing to do with the merge. But Subversion still uses those to reduce the merge time for subsequent merges.
If you don't like those, you can safely remove those modified/added svn:mergeinfo properties from all files/folders which were not part of the merge (leave it on the working copy root and the files/folders that got changes from the merge).
Subversion 1.6 will have those svn:mergeinfo properties reduced a lot if everything goes as planned with the 1.6 release.
At least one part of this bug was fixed in Subversion 1.5.5. From the 1.5.5 CHANGES file:
do not create mergeinfo for wc-wc moves or copies (r34184, -585)
That is, there was a bug in SVN prior to 1.5 where it would create mergeinfo entries that it didn't use and were superfluous.