Dear Wiki user,

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

The "BranchingMergingTerminology" page has been changed by JulianFoad:
http://wiki.apache.org/subversion/BranchingMergingTerminology

Comment:
Content moved from SimpleAndSafeMerges

New page:
== Terminology - A Typical Branching and Merging Policy ==
A   simple and useful branching policy.  This is presented here just in   order 
to give a framework of terminology for describing guidance   measures for 
merging, not as a restriction on what is to be supported.  Types of merge:

 * ''sync'' or ''catch-up'': a merge that pulls into the target branch all 
source-branch changes that we “don’t yet have” in the target branch.

 * ''cherry-pick'': a merge that pulls in one or more specified changes from 
the source branch.

 * ''reintegrate'': similar to a ''sync'' merge, but intended to be used in the 
other direction

Assume a partial ordering among branches, such that any given branch has (0 or 
more) ''Feature Branches'' that are less stable than it, and ''Release 
Branches'' that are more stable than it, and it is considered the ''parent'' of 
each of those.  A merge may be performed between a ''parent'' branch and one of 
its immediate ''Feature'' or ''Release'' branches, and nowhere else.

 * A merge to a ''Feature Branch'' from its ''parent'' is normally a 
''catch-up''.

 * A merge from a ''Feature Branch'' to its ''parent'' is normally a 
''reintegrate''.

 * A merge to a ''Release Branch'' from its ''parent'' is normally a 
''cherry-pick''.

 * A merge from a ''Release Branch'' to its parent could be a ''catch-up'' or a 
''cherry-pick''. (### Does a catch-up work properly if you’ve done cherry-picks 
in the other direction? Might not.)

A merge to or from a ''Release Branch'' may be forbidden in one direction, 
according to local policy.

Reply via email to