If a copied path has no explicit mergeinfo, svn mergeinfo shows no ranges
available to merge. Once a path has explicit mergeinfo, svn mergeinfo can show
revisions eligible for merge that don't affect the merge source.
A simple example demonstrates both problems. Starting with a greek tree where
r2 Copy 'A' to 'A_COPY'
r3-r6 Some text changes under 'A'
# svn mergeinfo on 'A_COPY' shows nothing eligible for merge.
# Shouldn't we show r2:6 from 'A'?
>svn mergeinfo merge_tests-90\A_COPY
Path: merge_tests-90\A_COPY
# Now we perform a merge to get some explicit mergeinfo on 'A_COPY'
>svn merge %url%/A merge_tests-90\A_COPY
--- Merging r2 through r6 into 'merge_tests-90\A_COPY':
U merge_tests-90\A_COPY\B\E\beta
U merge_tests-90\A_COPY\D\G\rho
U merge_tests-90\A_COPY\D\H\omega
U merge_tests-90\A_COPY\D\H\psi
# svn mergeinfo looks a lot better now...
>svn mergeinfo merge_tests-90\A_COPY
Path: merge_tests-90\A_COPY
Source path: /A
Merged ranges: r1:6
Eligible ranges:
# ...but if we commit the merge...
>svn ci -m "a merge" merge_tests-90
Sending merge_tests-90\A_COPY
Sending merge_tests-90\A_COPY\B\E\beta
Sending merge_tests-90\A_COPY\D\G\rho
Sending merge_tests-90\A_COPY\D\H\omega
Sending merge_tests-90\A_COPY\D\H\psi
Transmitting file data ....
Committed revision 7.
>svn mergeinfo merge_tests-90\A_COPY
Path: merge_tests-90\A_COPY
Source path: /A
Merged ranges: r1:6
Eligible ranges: r6:7
^
...then svn mergeinfo shows the commit revision r7 as eligible for merging. We
should probably filter that out. In a more complex cherry picking example (e.g.
our 1.5.x branch) we see a lot of revisions "eligible" for merging that don't
affect the merge source.