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=38&rev2=39

  <<TableOfContents(2)>>
  
  == Background on 3-way merging ==
- 
  The following sections assume that the reader understands how the diff3 
algorithm works. The diff3 algorithm is used to perform a merge between an 
original version of a file and two different versions of the file, each derived 
from the original version (in Subversion, the derived versions are often 
referred to as "mine" and "theirs"). This paper provides an explanation and an 
analysis of the diff3 algorithm: 
http://www.cis.upenn.edu/~bcpierce/papers/diff3-short.pdf
  
  == Playing catch-up with Sync and Reintegrate ==
@@ -65, +64 @@

  More significantly, neither does the mergeinfo "B:1-4" accurately describe 
the set of ''physical changes'' that were merged.  The physical (3-way) merge 
took the difference between A2 and B4, which we can describe as A2:B3 followed 
by B3:B4.  The second part (B3:B4) we can descibe in mergeinfo syntax as "B:4". 
 The first part, A2:B3, we can't describe using mergeinfo syntax.  Logically 
it's equivalent to changes B1 and B2, but it's not physically the same, because 
A2:B3 is the rewriting of B1 and B2 into the context of branch A.  (See 
[[#The_Two_Sides_of_a_Merge|The Two Sides of a Merge]], below, for 
clarification.)
  
  == Cherry-pick Merges ==
+ If a cherry-pick merge has occurred since the last complete (sync or 
reintegrate) merge, the next complete merge should, loosely speaking, skip it.  
We can classify such a cherry-pick by its position and direction:
+ 
+ [GRAPH: 3 kinds + the really-a-sync kind]
+ 
  === Sync with Cherry-Pick in Same Direction ===
  Subversion's ''sync'' merge handles cherry-picks in the same direction by 
skipping over them, splitting the merge into two or more phases, with each 
phase performing a 3-way merge of one sub-range of the requested source range.
  

Reply via email to