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

branch to branch-of-branch sync merges remove valid mergeinfo

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      Ran into a new mergetracking problem today while doing some sync/catch-up merges
      on one of my branches.
      
      There are three branches of interest here:
      
      1) ^/subversion/trunk
      2) ^/subversion/branches/inheritable-props
      3) ^/subversion/branches/auto-props-sdc
      
      #2 is a vanilla feature branch and #3 is a branch of #2.  I fully synced #3 with
      #1, then reintegrated #2 back to #1.  We *should* be able to start syncing
      directly from #1 to #3 (and ultimately reintegrate #3 back to #1.
      
      
      ___trunk@1297079_____________________________@1395109_______________________>
              \                                       /
              copy                                reintegrate
                \                                   /
         inheritable-props@1297080___@1384105______/
                                         \        \
                                        copy      sync merge
                                           \        \
                                   auto-props-sdc___1395146____>
      
      Unfortunately I'm seeing conflicts during #1-->#3 sync merges:
      
        C:\SVN\src-trunk-4>svn merge ^^/subversion/trunk .
        Conflict discovered in 'C:/SVN/src-trunk-4/tools/dist/make-deps-tarball.sh'.
        Select: (p) postpone, (df) diff-full, (e) edit,
                (mc) mine-conflict, (tc) theirs-conflict,
                (s) show all options: p
        --- Merging r1304318 into 'tools\dist\make-deps-tarball.sh':
        C    tools\dist\make-deps-tarball.sh
        --- Recording mergeinfo for merge of r1297080 through r1304318 into '.':
         U   .
        Summary of conflicts:
          Text conflicts: 1
        svn: E155015: One or more conflicts were produced while merging
        r1304317:1304318 into 'C:\SVN\src-trunk-4' --
        resolve all conflicts and rerun the merge to apply the remaining
        unmerged revisions
      
      Now this is entirely unexpected because 'tools\dist\make-deps-tarball.sh' was
      never modified on either branch #2 or #3.
      
      Traced this back to incorrect mergeinfo created in r1395146, a sync merge
      between #2 and #3 -- http://svn.apache.org/viewvc?view=revision&revision=1395146
      
      ### Recreating this merge (keeping it simple by doing a file merge to the
      offending make-deps-tarball.sh file, a merge to the root of the branch produces
      the same results):
      
      C:\SVN\src-trunk-4>svn info
      Path: .
      Working Copy Root Path: C:\SVN\src-trunk-4
      URL: https://svn.apache.org/repos/asf/subversion/branches/auto-props-sdc
      Repository Root: https://svn.apache.org/repos/asf
      Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68
      Revision: 1395145
      Node Kind: directory
      Schedule: normal
      Last Changed Author: pburba
      Last Changed Rev: 1394851
      Last Changed Date: 2012-10-05 18:43:45 -0400 (Fri, 05 Oct 2012)
      
      ### Note that the target has no mergeinfo history from
      ^/subversion/trunk/tools/dist/make-deps-tarball.sh of "1304315-1383997", which
      makes sense since 
      make-deps-tarball.sh was added to trunk in r1304315, added to branch #2 in a
      sync merge from trunk and subseqently updated again in a second sync merge from
      trunk (through r138997).
      
      
      C:\SVN\src-trunk-4>svn pg svn:mergeinfo -v tools\dist\make-deps-tarball.sh
      Properties on 'tools\dist\make-deps-tarball.sh':
        svn:mergeinfo
         
      /subversion/branches/1.5.x-r30215/tools/dist/construct-rolling-environment.sh:870312
         
      /subversion/branches/bdb-reverse-deltas/tools/dist/construct-rolling-environment.sh:872050-872529
         
      /subversion/branches/diff-callbacks3/tools/dist/construct-rolling-environment.sh:870059-870761
         
      /subversion/branches/dont-save-plaintext-passwords-by-default/tools/dist/construct-rolling-environment.sh:870728-871118
         
      /subversion/branches/double-delete/tools/dist/construct-rolling-environment.sh:870511-872970
         
      /subversion/branches/explore-wc/tools/dist/construct-rolling-environment.sh:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875
      611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,87
      5864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997
         
      /subversion/branches/file-externals/tools/dist/construct-rolling-environment.sh:871779-873302
         
      /subversion/branches/fs-rep-sharing/tools/dist/construct-rolling-environment.sh:869036-873803
         
      /subversion/branches/fsfs-pack/tools/dist/construct-rolling-environment.sh:873717-874575
         
      /subversion/branches/gnome-keyring/tools/dist/construct-rolling-environment.sh:870558-871410
         
      /subversion/branches/http-protocol-v2/tools/dist/construct-rolling-environment.sh:874395-876041
         
      /subversion/branches/in-memory-cache/tools/dist/construct-rolling-environment.sh:869829-871452
         
      /subversion/branches/issue-2843-dev/tools/dist/construct-rolling-environment.sh:871432-874179
         
      /subversion/branches/issue-3000/tools/dist/construct-rolling-environment.sh:871713,871716-871719,871721-871726,871728,871734
         
      /subversion/branches/issue-3067-deleted-subtrees/tools/dist/construct-rolling-environment.sh:873375-874084
         
      /subversion/branches/issue-3148-dev/tools/dist/construct-rolling-environment.sh:875193-875204
         
      /subversion/branches/issue-3220-dev/tools/dist/construct-rolling-environment.sh:872210-872226
         
      /subversion/branches/issue-3242-dev/tools/dist/construct-rolling-environment.sh:879653-896436
         
      /subversion/branches/issue-3334-dirs/tools/dist/construct-rolling-environment.sh:875156-875867
         
      /subversion/branches/kwallet/tools/dist/construct-rolling-environment.sh:870785-871314
         
      /subversion/branches/log-g-performance/tools/dist/construct-rolling-environment.sh:870941-871032
         
      /subversion/branches/merge-skips-obstructions/tools/dist/construct-rolling-environment.sh:874525-874615
         
      /subversion/branches/ra_serf-digest-authn/tools/dist/construct-rolling-environment.sh:875693-876404
         
      /subversion/branches/reintegrate-improvements/tools/dist/construct-rolling-environment.sh:873853-874164
         
      /subversion/branches/subtree-mergeinfo/tools/dist/construct-rolling-environment.sh:876734-878766
         
      /subversion/branches/svn-mergeinfo-enhancements/tools/dist/construct-rolling-environment.sh:870119-870195,870197-870288
         
      /subversion/branches/svn-patch-improvements/tools/dist/construct-rolling-environment.sh:918519-934609
         
      /subversion/branches/svnpatch-diff/tools/dist/construct-rolling-environment.sh:865738-876477
         
      /subversion/branches/svnraisetc/tools/dist/construct-rolling-environment.sh:874709-875149
         
      /subversion/branches/svnserve-logging/tools/dist/construct-rolling-environment.sh:869828-870893
         
      /subversion/branches/tc-issue-3334/tools/dist/construct-rolling-environment.sh:874697-874773
         
      /subversion/branches/tc-merge-notify/tools/dist/construct-rolling-environment.sh:874017-874062
         
      /subversion/branches/tc-resolve/tools/dist/construct-rolling-environment.sh:874191-874239
         
      /subversion/branches/tc_url_rev/tools/dist/construct-rolling-environment.sh:874351-874483
         
      /subversion/branches/tree-conflicts/tools/dist/construct-rolling-environment.sh:868291-873154
         
      /subversion/branches/tree-conflicts-notify/tools/dist/construct-rolling-environment.sh:873926-874008
          /subversion/trunk/tools/dist/make-deps-tarball.sh:1304315-1383997
      
      ### Note the diff of the range we are about to merge:
      
      C:\SVN\src-trunk-4>svn diff -r1389501:1395088
      ^^/subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh
      Index: make-deps-tarball.sh
      ===================================================================
      --- make-deps-tarball.sh        (revision 1389501)
      +++ make-deps-tarball.sh        (revision 1395088)
      
      Property changes on: make-deps-tarball.sh
      ___________________________________________________________________
      Modified: svn:mergeinfo
         Merged /subversion/trunk/tools/dist/make-deps-tarball.sh:r1383998-1394910
         Merged
      /subversion/branches/10Gb/tools/dist/make-deps-tarball.sh:r1388394,1388636,1388639,1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388810,138
      8816,1389044,1389276,1389289,1389662,1389867,1390017,1390216,1390407
      
      
      ### But when we perform a merge to apply the above diff, a valid chunk of the
      mergeinfo from trunk is removed:
      
      C:\SVN\src-trunk-4>svn merge -r1389501:1395088
      ^^/subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh
      tools\dist\make-deps-tarball.sh
      --- Merging r1389502 through r1395088 into 'tools\dist\make-deps-tarball.sh':
      UU   tools\dist\make-deps-tarball.sh
      --- Recording mergeinfo for merge of r1389502 through r1395088 into
      'tools\dist\make-deps-tarball.sh':
       G   tools\dist\make-deps-tarball.sh
      
      C:\SVN\src-trunk-4>svn diff
      Index: tools/dist/make-deps-tarball.sh
      ===================================================================
      --- tools/dist/make-deps-tarball.sh     (revision 1395145)
      +++ tools/dist/make-deps-tarball.sh     (working copy)
      
      Property changes on: tools/dist/make-deps-tarball.sh
      ___________________________________________________________________
      Modified: svn:mergeinfo
         Reverse-merged /subversion/trunk/tools/dist/make-deps-tarball.sh:r1304315-1305659
         Merged
      /subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh:r1389502-1395088
         Merged
      /subversion/branches/10Gb/tools/dist/make-deps-tarball.sh:r1388394,1388636,1388639,1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388810,138
      8816,1389044,1389276,1389289,1389662,1389867,1390017,1390216,1390407
         Merged /subversion/trunk/tools/dist/make-deps-tarball.sh:r1383998-1394910
      
      C:\SVN\src-trunk-4>svn pg svn:mergeinfo -v tools\dist\make-deps-tarball.sh
      Properties on 'tools\dist\make-deps-tarball.sh':
        svn:mergeinfo
         
      /subversion/branches/1.5.x-r30215/tools/dist/construct-rolling-environment.sh:870312
         
      /subversion/branches/10Gb/tools/dist/make-deps-tarball.sh:1388394,1388636,1388639,1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388810,1388816,13
      89044,1389276,1389289,1389662,1389867,1390017,1390216,1390407
         
      /subversion/branches/bdb-reverse-deltas/tools/dist/construct-rolling-environment.sh:872050-872529
         
      /subversion/branches/diff-callbacks3/tools/dist/construct-rolling-environment.sh:870059-870761
         
      /subversion/branches/dont-save-plaintext-passwords-by-default/tools/dist/construct-rolling-environment.sh:870728-871118
         
      /subversion/branches/double-delete/tools/dist/construct-rolling-environment.sh:870511-872970
         
      /subversion/branches/explore-wc/tools/dist/construct-rolling-environment.sh:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875
      611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,87
      5864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997
         
      /subversion/branches/file-externals/tools/dist/construct-rolling-environment.sh:871779-873302
         
      /subversion/branches/fs-rep-sharing/tools/dist/construct-rolling-environment.sh:869036-873803
         
      /subversion/branches/fsfs-pack/tools/dist/construct-rolling-environment.sh:873717-874575
         
      /subversion/branches/gnome-keyring/tools/dist/construct-rolling-environment.sh:870558-871410
         
      /subversion/branches/http-protocol-v2/tools/dist/construct-rolling-environment.sh:874395-876041
         
      /subversion/branches/in-memory-cache/tools/dist/construct-rolling-environment.sh:869829-871452
         
      /subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh:1389502-1395088
         
      /subversion/branches/issue-2843-dev/tools/dist/construct-rolling-environment.sh:871432-874179
         
      /subversion/branches/issue-3000/tools/dist/construct-rolling-environment.sh:871713,871716-871719,871721-871726,871728,871734
         
      /subversion/branches/issue-3067-deleted-subtrees/tools/dist/construct-rolling-environment.sh:873375-874084
         
      /subversion/branches/issue-3148-dev/tools/dist/construct-rolling-environment.sh:875193-875204
         
      /subversion/branches/issue-3220-dev/tools/dist/construct-rolling-environment.sh:872210-872226
         
      /subversion/branches/issue-3242-dev/tools/dist/construct-rolling-environment.sh:879653-896436
         
      /subversion/branches/issue-3334-dirs/tools/dist/construct-rolling-environment.sh:875156-875867
         
      /subversion/branches/kwallet/tools/dist/construct-rolling-environment.sh:870785-871314
         
      /subversion/branches/log-g-performance/tools/dist/construct-rolling-environment.sh:870941-871032
         
      /subversion/branches/merge-skips-obstructions/tools/dist/construct-rolling-environment.sh:874525-874615
         
      /subversion/branches/ra_serf-digest-authn/tools/dist/construct-rolling-environment.sh:875693-876404
         
      /subversion/branches/reintegrate-improvements/tools/dist/construct-rolling-environment.sh:873853-874164
         
      /subversion/branches/subtree-mergeinfo/tools/dist/construct-rolling-environment.sh:876734-878766
         
      /subversion/branches/svn-mergeinfo-enhancements/tools/dist/construct-rolling-environment.sh:870119-870195,870197-870288
         
      /subversion/branches/svn-patch-improvements/tools/dist/construct-rolling-environment.sh:918519-934609
         
      /subversion/branches/svnpatch-diff/tools/dist/construct-rolling-environment.sh:865738-876477
         
      /subversion/branches/svnraisetc/tools/dist/construct-rolling-environment.sh:874709-875149
         
      /subversion/branches/svnserve-logging/tools/dist/construct-rolling-environment.sh:869828-870893
         
      /subversion/branches/tc-issue-3334/tools/dist/construct-rolling-environment.sh:874697-874773
         
      /subversion/branches/tc-merge-notify/tools/dist/construct-rolling-environment.sh:874017-874062
         
      /subversion/branches/tc-resolve/tools/dist/construct-rolling-environment.sh:874191-874239
         
      /subversion/branches/tc_url_rev/tools/dist/construct-rolling-environment.sh:874351-874483
         
      /subversion/branches/tree-conflicts/tools/dist/construct-rolling-environment.sh:868291-873154
         
      /subversion/branches/tree-conflicts-notify/tools/dist/construct-rolling-environment.sh:873926-874008
          /subversion/trunk/tools/dist/make-deps-tarball.sh:1305660-1394910
                                                            ^^^^^^^^^^^^^^^
                                                What happened to r1304315-1305659?
      
      
      This is a problem because subsequent sync merges from trunk will try to merge
      this missing block resulting in spurious conflicts.
      

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            pburba Paul Burba

            Dates

              Created:
              Updated:

              Slack

                Issue deployment