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

reintegrate fails with no subtree mergeinfo on source

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.6.x
    • 1.6.18
    • libsvn_client
    • None

    Description

      reintegrate fails in 1.6.x from 1.6.13 on, when the target has explicit subtree
      mergeinfo and the source does not.  The following script shows the problem (I'll
      attach it as well). The final reintegrate merge works with 1.6.12 and 1.7 but
      fails with 1.6.13 on.  The error is:
      
      svn: Reintegrate can only be used if revisions 4 through 11 were previously
      merged from file:///home/pm/sw/subversion/obj/repo/A to the reintegrate source,
      but this is not the case:
        Y/B
          Missing ranges: /A/B:4-10
      
      However the mergeinfo for Y is /A:4-10 and Y/B has no mergeinfo to override it.
      
      The problem can be worked around by doing a --dry-run merge on the source subdir.
      
      
      
      
      #!/bin/sh -e
      
      svn=svn ; svnadmin=svnadmin ; svnlook=svnlook ; svnmucc=svnmucc
      repo=repo ; wc=wc ; url=file:///`pwd`/$repo
      rm -rf $repo $wc
      $svnadmin create $repo
      
      $svn mkdir -mm $url/A
      $svn mkdir -mm $url/A/B
      $svnmucc -mm -- put - $url/A/B/f <<EOD
      ABf
      XBf
      YBf
      EOD
      
      $svn cp -mm $url/A $url/Y
      $svn cp -mm $url/A $url/X
      
      $svnmucc -mm -- put - $url/A/B/f <<EOD
      ABf1
      XBf
      YBf
      EOD
      
      $svnmucc -mm -- put - $url/Y/B/f <<EOD
      ABf
      XBf
      YBf1
      EOD
      
      $svnmucc -mm -- put - $url/X/B/f <<EOD
      ABf
      XBf1
      YBf
      EOD
      
      $svn co $url/X $wc
      $svn merge --accept postpone ^/A $wc
      $svn ci -mm $wc
      $svn sw $url/A $wc
      $svn merge --reintegrate ^/X/B $wc/B
      $svn ci -mm $wc
      
      $svn sw $url/Y $wc
      $svn merge --accept postpone ^/A $wc
      $svn merge -r9:4 ^/X/B wc/B
      $svn ci -mm $wc
      $svn sw $url/A $wc
      $svn merge --reintegrate ^/Y $wc
      

      Attachments

        1. 1_doit2.sh
          0.8 kB
          Philip Martin

        Activity

          People

            pburba Paul Burba
            philipm Philip Martin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: