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

moved target breaks reintegrate merge

    XMLWordPrintableJSON

Details

    Description

      While working on http://subversion.tigris.org/issues/show_bug.cgi?id=3242#desc78
      I noticed that you can't reintegrate to a target WC that has been moved after
      the reintegrate source was branched.
      
      Example:
      
      # We have a branch A_COPY made from A@1:
      
        >svn log A_COPY --stop-on-copy -v -r1:HEAD
        ------------------------------------------------------------------------
        r2 | jrandom | 2010-05-18 17:03:49 -0400 (Tue, 18 May 2010) | 1 line
        Changed paths:
           A /A_COPY (from /A:1)
      
        log msg
        ------------------------------------------------------------------------
        r7 | jrandom | 2010-05-18 17:03:54 -0400 (Tue, 18 May 2010) | 1 line
        Changed paths:
           M /A_COPY/mu
      
        log msg
        ------------------------------------------------------------------------
        r8 | jrandom | 2010-05-18 17:03:56 -0400 (Tue, 18 May 2010) | 1 line
        Changed paths:
           M /A_COPY
           M /A_COPY/B/E/beta
           M /A_COPY/D/G/rho
           M /A_COPY/D/H/omega
           M /A_COPY/D/H/psi
      
        log msg
        ------------------------------------------------------------------------
      
      # The mergeinfo on the branch shows it is synced up with A:
      
        >svn pg svn:mergeinfo -vR
        Properties on 'A_COPY':
          svn:mergeinfo
            /A:2-7
      
      # As expected we can reintegrate:
      
        >svn merge ^^/A_COPY A --reintegrate
        --- Merging differences between repository URLs into 'A':
        U    A\mu
        --- Recording mergeinfo for merge between repository URLs into 'A':
         U   A
         G   A
      
      # But if we revert and move A to A_MOVED, the reintegrate fails:
      
        >svn revert -R .
        Reverted 'A'
        Reverted 'A\mu'
      
        >svn move ^^/A ^^/A_MOVED -m "Move the reintegrate target"
      
        Committed revision 9.
      
        >svn up -q
      
        >svn merge ^^/A_COPY A --reintegrate
        ..\..\..\subversion\svn\merge-cmd.c:70: (apr_err=155010)
        ..\..\..\subversion\svn\util.c:1118: (apr_err=155010)
        ..\..\..\subversion\libsvn_client\cmdline.c:269: (apr_err=155010)
        ..\..\..\subversion\libsvn_client\cmdline.c:132: (apr_err=155010)
        ..\..\..\subversion\libsvn_client\util.c:270: (apr_err=155010)
        ..\..\..\subversion\libsvn_client\ra.c:430: (apr_err=155010)
        ..\..\..\subversion\libsvn_client\url.c:106: (apr_err=155010)
        ..\..\..\subversion\libsvn_client\url.c:151: (apr_err=155010)
        ..\..\..\subversion\libsvn_wc\node.c:432: (apr_err=155010)
        ..\..\..\subversion\libsvn_wc\wc_db.c:4678: (apr_err=155010)
        ..\..\..\subversion\libsvn_wc\wc_db.c:4670: (apr_err=155010)
        svn: The node '\A' was not found.
      
      Might be a bit of an edge case, but this there is no reason this shouldn't work.
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: