Reintegrate and 2-URL merges are really three merges:
1) A simple application of the diff where we neither honor
nor record mergeinfo.
2) A record only merge between the common ancestor and the right
side of the merge.
3) A record only merge between the left side of the merge and the
common ancestor.
In http://svn.apache.org/viewvc?view=revision&revision=902509 we started
producing notifications when a merge set mergeinfo describing the merge (as
opposed to mergeinfo property changes made by application of the diff). This
has the unfortunate side effect of notifying all the mergeinfo changes twice:
>svn pg svn:mergeinfo -vR
>svn merge ^/A_COPY . --reintegrate
--- Merging differences between repository URLs into '.':
U mu <--- Application of the diff
--- Recording mergeinfo for merge between repository URLs into '.':
U . <--- Ancestor:Right record-only
G . <--- Left:Ancestor record-only
Ideally we should have only one notification per path. This simple example
isn't so bad, but when there are lots of subtrees with mergeinfo, then it gets a
bit noisy.