Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-3126

svn mergeinfo shows too few or too many eligible revisions

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: trunk
    • Fix Version/s: 1.6.3
    • Component/s: libsvn_client
    • Labels:

      Description

      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.
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              pburba Paul Burba
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: