subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache subversion Wiki <comm...@subversion.apache.org>
Subject [Subversion Wiki] Update of "SvnMergeTheory" by JulianFoad
Date Thu, 02 Feb 2012 17:34:15 GMT
Dear Wiki user,

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

The "SvnMergeTheory" page has been changed by JulianFoad:
http://wiki.apache.org/subversion/SvnMergeTheory?action=diff&rev1=12&rev2=13

  
  {{attachment:merge-reint-1.png|svn reintegrate merge}}
  
- The main significant difference is that Subversion selects a base node that is on the ''target''
branch rather than on the ''source'' branch.
+ The main significant differences are:
  
- But what's the mergeinfo? [TODO...]
+  * For the 3-way merge, Subversion selects a base node that is on the ''target'' branch
rather than on the ''source'' branch.
+  * For the mergeinfo, Subversion records all the changes along the source branch (B), starting
from 'O'.  That does not accurately descibe either the set of logical changes (because B3
was not a logical change) or the set of physical changes (because B1 and B2 were not physically
merged; A2:B3 was merged instead, which is logically equivalent).
  
  == 3-way or 4-way Merge ==
  Subversion currently performs any requested merge as a sequence of 3-way merges.  For simple
''sync'' and ''reintegrate'' merges, that's exactly what's needed.  Usually there is just
one 3-way merge, but if cherry-picks are being skipped then Subversion breaks down the merge
source range into sub-ranges and performs one 3-way merge per sub-range.

Mime
View raw message