You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by Apache subversion Wiki <co...@subversion.apache.org> on 2012/08/20 16:21:41 UTC

[Subversion Wiki] Trivial Update of "SymmetricMerge" by JulianFoad

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 JulianFoad:
http://wiki.apache.org/subversion/SymmetricMerge?action=diff&rev1=94&rev2=95

  Can we define the base-choosing algorithm so that it always picks the "good" base when there is one?  The last rev on A synced to B is A1, and the last rev on B synced to A is B1.  Normally, we'd expect either B1 to be >= the target of the A1->B merge, or vice versa.  But neither is the case here; that's more or less what defines this as a criss-cross.  There's something special going on, so the presence of change A2 makes a base on the source branch succeed whereas a base on the target branch fails.  We perhaps just need to codify that "something special" -- some rule that says which base to consider the "better one" depending on the relative ages of ... A1, B1, A3, B3, and A2.
  
  === Criss-Cross Merge References ===
-  * "LCA Tree Merging" in Bazaar, <http://doc.bazaar.canonical.com/bzr.1.13/developers/lca_tree_merging.html>. This page "describes how we handle merging tree-shape when there is not a single unique ancestor (criss-cross merge)".
+  * "LCA Tree Merging" in Bazaar, <http://doc.bazaar.canonical.com/bzr.dev/developers/lca_tree_merging.html>. This page "describes how we handle merging tree-shape when there is not a single unique ancestor (criss-cross merge)".
  
  = The User's Perspective =
  Let's remind ourselves broadly what we are aiming to achieve with this 'symmetric merge' development.  An improved user experience for  merging, of course.  How are users going to appreciate this change as an improvement, exactly?   To set the context, let's think back to the time when we introduced  merge tracking.  Forgive me for repeating what is old news to many of  us.  We could paraphrase that news as: