With Subversion, changes are always merged into a working copy before being committed to the repository.
The first step of a merge operation is therefore to select the working copy to merge into. If you do not already have a working copy available then you will have to check one out before continuing.
To start a merge operation:
Select Merge... from the Working Copy menu
or
Click the Merge button in the app toolbar.
Cornerstone provides four merge strategies to choose from:
A synchronization merge is appropriate when the synchronization of a branch with its ancestor is required.
A reintegration merge is appropriate when the integration of changes implemented in a feature branch into its ancestor is required.
Cherry picking is appropriate when individual change sets (i.e. revisions) need to be copied from one branch e.g. trunk to another e.g. a maintenance branch.
An advanced merge is appropriate when other merge types provide insufficient flexibility.
Cornerstone provides a set of options that provide fine control over the merge process:
The depth option provides the user with control over the extent of the working copy that the merge is applied to.
The depth defaults to Include all files and folders which will result in changes in all files and folders at all levels being merged.
The Depth option is not available for reintegration merges.
These options control whether differences in whitespace and/or line endings are included in the merge.
Whitespace and line endings are not ignored by default.
By default, merges take file ancestry into account. You can suppress this behavior by checking the Ignore Ancestry option to force a merge to function more like svn diff
when comparing trees of files.
The Ignore Ancestry option is off by default and should generally be left this way.
If you’re not sure whether you need to change this option then you probably don’t.
See the Noticing or Ignoring Ancestry section in the Subversion document included with Cornerstone (Help > Subversion Documentation) for more information on this option.
The Ignore Ancestry option is not available for reintegration merges.
The working copy will contain the uncommitted results of the merge once the merge operation is complete.
Take the opportunity to review and verify the result of the merge. Before committing the working copy changes you should:
The merge results can be committed to the repository in the same way as for normal working copy modifications.