Merging

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:

  1. Select the working copy (or sub-folder) that you wish to merge into.
  2. Select Merge... from the Working Copy menu

    or

    Click the Merge button in the app toolbar.

  3. The Merge view will be displayed.

Select a Merge Strategy

Cornerstone provides four merge strategies to choose from:

Merge Options

Cornerstone provides a set of options that provide fine control over the merge process:

  1. Depth

    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.

  2. Whitespace Options

    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.

  3. Ignore Ancestry

    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.

Verify the Results of the Merge

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:

  1. Compare the modified working copy files against BASE. Verify that the results of the merge are correct.
  2. Review and resolve any conflicts which occurred during the merge.
  3. Build and run your project to verify that the results of the merge are correct.
  4. Build and run available unit tests to verify that the merge has had no undesirable side-effects.
  5. Fix any consistencies or bugs introduced by the merge before committing the merge results.

Commit the Changes

The merge results can be committed to the repository in the same way as for normal working copy modifications.