subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache subversion Wiki <>
Subject [Subversion Wiki] Update of "SymmetricMerge" by DanielShahaf
Date Thu, 15 Mar 2012 17:02:34 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for change notification.

The "SymmetricMerge" page has been changed by DanielShahaf:

algorithm += merging of revisions that merge both already-merged and not-already-merged logical

    * [TODO] In what cases do the selection methods give different results? Only after a criss-cross
   1. Identify cherry-picks.
    * Find changes along the source side of the merge that are already 'in' the target.
+   * Look for merges in both directions (from current source to current target ("forward")
and from current target to current source ("backward").  For each merge:
+    * If a merge consists entirely of logical changes that are not in the target, or consists
entirely of logical changes that are in the target, treat it as a unit -- a cherry pick.
+    * Otherwise, fall back to the user: report to the user which logical changes that merge
includes, and suggest that the user run more specific merges that pull only the subset of
logical changes they want.
-   * Look for mergeinfo in both directions
-    * Past merges from source to target ("forward"): treat them as cherry-picks.
-    * Past merges from target to source ("backward"): if a revision 150 on the source merges
a revision 100 from the target, (Q: what to do exactly? We want to ignore the part that merges
r100, but if r150 also merged r120 from an unrelated branch we do want to merge ''that'' part)
-   * If a change is partly in the target, consider reporting it and aborting.
   1. Break into 3-way merges, skipping the cherry-picks.
   1. Mergeinfo addition.
    * The first 3-way merge might have its base on the target branch.

View raw message