Previous Topic: Merge-Tagged Version RestrictionsNext Topic: Managing Versions, Items, and Paths


Merge Versions Across Projects

The cross project merge process lets you merge the versions made to items in one project with the versions made for the same items in another project. The merge creates versions in the target project that are the latest for each item on the trunk. The merge process affects all items modified by a package, and you can merge multiple items simultaneously.

Follow these steps:

  1. Navigate to the package that is the target (destination) for the versions you want to merge.
  2. Right-click the package, and select cross project merge process from the shortcut menu.

    The cross project merge process dialog appears and your selected package is listed in the Target Package field.

    Note: The lowercase italic text indicates the process dialog name by the process type, since the process execution dialog names differ to each site.

  3. Complete the following fields as appropriate to select source versions and a destination package:
    Project

    Specifies a source project.

    Versions from Package

    Specifies versions from a package to use for the merge.

    Versions from Snapshot

    Specifies versions from a snapshot to use for the merge.

    Note: By default, the versions that are modified (versions greater than the base versions) in the snapshot view are the only merged versions. When you want to merge the entire view including the base versions, select the Merge from Base Versions option. Removed items or paths are not removed in the target project, when you use this option.

    State

    Specifies a source state.

    Snapshot

    Specifies the snapshot to use as the version source.

    Merge Base Versions also

    Merges the entire view including the base versions.

    Target Package

    (Optional) Specifies the destination package for the merged versions. You can click the Package button and use the Select a Package dialog to select a different package.

  4. Select a merge option and a placement option from the Merge Options and Placement Options drop-down lists, respectively.
    Merge Conservatively

    Creates a merge-tagged version, regardless of the contents of the versions. The process fails if the target package has an unmerged branched version of an item also in the source package.

    Merge Aggressively

    Creates a merge-tagged version only when conflicts are found. If no conflicts are found, the branch and trunk versions are merged to create a normal version. Normal tags can only be created when the versions being compared are in the original baseline of both projects. If the versions were checked in after baselining, merge tags are created regardless of whether conflicts exist.

    Note: A conflict occurs when a set of lines is modified in both the branch and the trunk; insertions and deletions are not conflicts.

    Take Branch Version

    Automatically selects the branch (source) to create the final version without comparing the contents of the versions. This option creates a normal version on the trunk and closes the branch.

    Take Trunk Version

    Automatically selects the trunk (target) to create the final version without comparing the contents of the versions. This option creates a normal version on the trunk and closes the branch.

    Branch Only

    Creates a version on the target branch. This option lets you copy changes from the source project to the target project even if one or more target items are reserved for update in the main trunk. With this option, a branch is created to store the changes. The target package cannot be the same package that contains the items reserved for update on the main trunk.

    Trunk Only

    Creates a version on the target trunk.

    Trunk or Branch

    Creates a version on the target trunk or branch. This option lets you copy changes from the source project to the target project even if one or more target items are reserved for update in the main trunk. Consider the following:

    • When items are reserved for update on the trunk, a branch is created to store the changes only if the target package is not the same package that contains the items reserved for update.
    • When items are not reserved for update on the trunk, the items are simply copied to the trunk.
  5. (Optional) Click the tabs to enter and view information:
    Comment

    Specifies comments.

    Note:

    Note

    Provides notes about the process.

  6. Click OK.

    The source package versions are merged to the target project.