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

Allow merge tracking to be useful when performing cyclic merging

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • trunk
    • 1.8.0
    • libsvn_client

    Description

      Account for reflected revisions when performing cyclic merges.  For
      example: trunk is branched, then modified, and the branch is brought
      up to date with trunk in a manner which requires some conflict
      resolution (e.g. additional changes on top of the revisions merged),
      then the branch is modified, then the branch is merged to the trunk.
      To avoid repeated merging of changes to trunk, only the modification
      to the branch should be applied to trunk.  That is, both the changes
      from the conflict resolution performed after the merge from trunk to
      branch (but not the revisions from the merge itself), plus the
      additional change on the branch, should be merged back to trunk.
      
      To accomplish this, we need to be able to be able to:
      
      * Identify revisions which are commits of merges.
      
      * For those revisions, differentiate between changes from revisions
        already reflected by (e.g. present in) the target, and additional
        changes which were not part of a merge.
      
      Typically, VC systems handle this by recording two or more parents
      for a change set, and applying graph algorithms to handle the
      mechanics of determining what to merge. See the following thread for
      more details:
      http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=127570
      

      http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=127570

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dlr Daniel Rall
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: