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=24&rev2=25

- What's the theoretical difference between 'sync', 'reintegrate' and 
'cherry-pick' merges in Subversion?
+ What's the theoretical difference between 'sync' and 'reintegrate' merges in 
Subversion, and how do 'cherry-pick' merges fit in?
  
  == Playing catch-up with Sync and Reintegrate ==
  Brane wrote:
@@ -65, +65 @@

  Same dir'n -- svn succeeds.  Opposite dir'n -- svn fails.
  
  == The Keep-Alive Dance ==
- 
  If you want to continue working on a branch after it has been reintegrated, 
we have been saying that there is a choice of two solutions:
  
   1. delete the branch and re-create it
@@ -98, +97 @@

  
  The conclusion is: to merge correctly, the 3-way merge base should be chosen 
on 'this' or 'that' branch according to the direction of the last merge, not 
according to whether the ''current'' merge is a reintegrate or a sync.
  
+ == How Subversion Could Find the Youngest Merge Base ==
+ Today we have ''sync'' which looks for a base on the source branch, and 
''reintegrate'' which looks for a base on the target branch.
+ 
+ What we need is a single algorithm that finds the most recent base, on either 
branch.  Like the current ''reintegrate'', it needs to choose a base for the 
3-way merge, and potentially a different base (this one always on the source 
branch) for the mergeinfo to be recorded.
+ 
+ 
+ 
+ ----
+ = Appendices =
  == The Two Sides of a Merge ==
  TODO: Explain the idea that the result of a 3-way merge from branch A to B, 
committed as B3, can be seen either as a change on B consisting of the addition 
of some stuff from A, or can be seen equally validly as the change A2:B3 
consisting of the merging of recent changes on B into the context of A.  The 
fact that the result was committed on branch B does not matter; the same result 
could have been committed on branch A, or on both branches.
  

Reply via email to