Dear Wiki user,

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

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

Comment:
Improve wording in the Merge Tracking vs Merging section

  
  Merge tracking is a mechanism by which Subversion remembers which  changes 
you've merged from one branch to another and uses this  information to honour a 
request to merge "all the unmerged changes" from  one branch to another.  Merge 
tracking is about deciding which changes to merge, and about recording which 
changes have been merged.  As far as merge tracking is concerned, a "change" 
means the change that was committed in a particular revision to a particular 
node or tree.
  
- A related but different issue is how to apply the selected changes to the  
target branch.  The task of applying the changes to the target working copy can 
be called tree-merging: that is,  taking a diff between two trees and applying 
this diff, node-wise and  text-wise, to a third tree.  We could say: “For a 
given physical or logical change ‘c1’ that branch A  claims to  have an 
instance of, how do I construct from ‘c1’ the best  physical  edit that will 
apply to branch B with the least amount of  spurious  physical conflict?”  For 
this task we currently use a built-in algortithm on the tree structure level, 
and a three-way merge algorithm on the file-content of text files.
+ A related but different issue is how to apply the selected changes to the  
target branch.  The task of applying the changes to the target working copy can 
be called tree-merging: that is,  taking a diff between two trees and applying 
this diff, node-wise and  text-wise, to a third tree. In other words, looking 
at a given change on branch A, how should we edit branch B so as to make the 
"same" change? Observe that the current state of branch B probably is not quite 
the same as branch A was when the change was made on branch A, so we cannot use 
precisely the same edits.  For this task we currently use a built-in algortithm 
on the tree structure level (deleting, adding and replacing nodes), and a 
three-way merge algorithm on the file-content of text files (deleting, adding 
and replacing lines of text).
  
  So merge tracking is a layer on top of  tree-merging, with a clear separation 
of tasks.
  
- This document is concerned primarily with the kinds of merges in which 
Subversion’s merge ''tracking'' takes effect -- that is the automatic 
(''catch-up'' and ''reintegrate) ''merges.
+ This document is concerned primarily with the kinds of merges in which 
Subversion’s ''merge tracking'' takes effect -- mainly the ''automatic'' merges 
(also known as ''sync'' or ''catch-up'' merges, and ''reintegrate ''merges) 
which merge all of the unmerged changes from the source branch, but also 
including  ''cherry-pick'' merges where merge tracking takes effect.
  
  === Identifying Logical Changes vs. Commits ===
  ==== and Why Conflict Resolution is Part of Merging ====

Reply via email to