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

reintegrate merge of replaced source produces inaccurate mergeinfo

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: trunk
    • Fix Version/s: 1.7.0
    • Component/s: libsvn_client
    • Labels:
      None

      Description

      If a merge reintegrate source (^/SOURCE) has a replacement in its history in rN,
      then the mergeinfo '/SOURCE:N' should not be recorded on the reintegrate target.
      
      Prabhu Gnana Sundar found this bug, noting that it has occurred in our own
      repository, see http://svn.haxx.se/dev/archive-2011-07/0432.shtml.
      
      A quick example:
      
      Make a branch:
      
        >svn copy ^^/A ^^/branch -m "make a branch" -q
      
        Committed revision 2.
      
        >svn up -q
      
      Make edits on branch and "trunk":
      
        >echo trunk edit> A\mu
      
        >svn ci -m "trunk edit" -q
      
        >echo branch edit> branch\B\lambda
      
        >svn ci -m "branch edit" -q
      
        >svn up -q
      
      Sync the branch with its parent and make an additional edit on the branch
      unlrelated to the commit.  Commit both as r5:
      
        >svn merge ^^/A branch -q
      
        >echo additional branch changes with sync merge> branch\D\H\omega
      
        >svn ci -m "Sync A to branch and additional edits" -q
      
        >svn up
        Updating '.':
        At revision 5.
      
      Replace the branch with itself @ rev4:
      
        >svn del branch -q
      
        >svn copy ^^/branch@4 branch -q
      
        >svn st
        R  +    branch
      
        >svn ci -m "Replace branch with branch@4" -q
      
        >svn up
        Updating '.':
        At revision 6.
      
      Reintegrate the branch:
      
        >svn merge ^^/branch A --reintegrate
        --- Merging differences between repository URLs into 'A':
        U    A\B\lambda
        --- Recording mergeinfo for merge between repository URLs into 'A':
         U   A
      
      Mergeinfo should be /branch:2-4,6.  The changes made in revision 5 on branch
      were never merged back to A:
      
        >svn pl -vR
        Properties on 'A':
          svn:mergeinfo
            /branch:2-6
      
      I don't see any serious problems arising from this in practice so I'm setting
      the priority to P4.
      

        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: