SVN 1.7 and later
This should be fixed in SVN 1.7. From the release notes:
Merges no longer record mergeinfo (describing the merge) on subtrees (that have their own explicit mergeinfo), if the subtree was unaffected by the merge. This should greatly reduce the number of spurious svn:mergeinfo
property changes for users who have large numbers of subtrees with explicit mergeinfo.
SVN prior to 1.7
What happens is that once a file/folder has explicit mergeinfo, each
subsequent merge to the branch will update that mergeinfo even if the
file/folder is unrelated. This is annoying as it introduces more and more
clutter in the changelist for each merge.
To avoid this, only merge to the "root" folder of the branch, for example
"/branches/maintenance2.x". None of the files or folders below
"/branches/maintenance2.x" should then get mergeinfo. Follow the merging advice in the SVN book.
Unfortunately, even if you merge only at the "root" folder of the branch,
empty svn:mergeinfo
properties can still appear on individual files and
folders when they are copied, to indicate that they have not received the
same merges as their siblings.
It is probably safe to delete the superfluous subtree mergeinfo. One way to do this is by doing a recursive deletion of the svn:mergeinfo
property on each file and folder in your project root. (But keep the mergeinfo on the root folder itself!)
Alternatively, you can upgrade to Subversion 1.6. I have verified that it fixes this issue. It even seems to delete superfluous mergeinfo added by earlier versions for you.
Judging from the comments there are still cases in SVN 1.6 where superfluous sub-tree mergeinfo appears. But I have not been able to reproduce that.