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/02/21 12:49:13 UTC

[Subversion Wiki] Trivial Update of "SvnMergeTheory" by SteveButler

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 SteveButler:
http://wiki.apache.org/subversion/SvnMergeTheory?action=diff&rev1=42&rev2=43

Comment:
Add/fix some link URLs.

  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 ==
- Brane wrote:
+ Brane [[http://mail-archives.apache.org/mod_mbox/subversion-dev/201201.mbox/%3C4F1DF777.2070800%40apache.org%3E|wrote]]:
  
  {{{
  When you create a branch, the origin of the branch is an interesting bit of information. However, for merging, it is entirely irrelevant if branch A was created from B or the other way around. To illustrate:
@@ -221, +221 @@

  
  ... because it tries to merge the change A2:A3 (so far, so good) with the change A2:B3.  The trouble is that the latter diff includes not only changes that were made deliberately in B, such as B3, but also the ''reverse'' of some changes that were made earlier in A, specifically A2 and A1.  In simple cases that works fine, but we could do better.  [TODO: Describe what goes wrong with it. Is it more chance of conflicts? Is http://svn.haxx.se/users/archive-2011-10/0834.shtml a concrete example?]
  
- A [[http://svn.apache.org/subversion/trunk/notes/variance-adjusted-patching.html|4-way merge]] would be more correct:
+ A [[http://svn.apache.org/repos/asf/subversion/trunk/notes/variance-adjusted-patching.html|4-way merge]] would be more correct:
  
  {{attachment:merge-cherry-4way.png|Cherry-Pick as 4-way Merge}}