View Compare/Merge Sessions

View Compare/Merge sessions become change packages when they are persisted at the server. When you initiate a View Compare/Merge session in the StarTeam Cross-Platform Client, or with the View Compare/Merge utility, it begins as an "in memory" session only. When the View Compare/Merge session is committed, a change package is created that stores the session's details.

View Compare/Merge sessions, and consequently change packages, can be created only for updateable view types, which include root (main) views, variant (branching) views, and non-derived (blank) views. A View Compare/Merge session cannot be created for a read-only reference view.

When you initiate a View Compare/Merge session, after the compare phase, the session is populated with changes proposed by View Compare/Merge after comparing items in a source view to items in the target view. The session is given a default change package name and description based on the source scope and merge type with which the session was initiated.

Before a View Compare/Merge session’s updates are committed, it can be saved to the StarTeam repository as a change package. The change package appears as a special type of object owned by the target view. A saved change package can be opened for further editing and saved any number of times. When its changes are committed, a change package becomes a committed change package and can no longer be edited.

Change Packages Can be Saved and Restored

When a change package is first created, it only exists as an “application session” in the StarTeam Cross-Platform Client or View Compare/Mergeutility. At any time before it is committed, it can be saved, causing its contents to be persisted in the StarTeam repository. Saving a View Compare/Merge session does not cause it to be “closed” in the StarTeam Cross-Platform Client. The user can continue working on the View Compare/Merge session and save it again at any time. Each save creates a new revision of the underlying change package object. The exclusive lock obtained in order to edit a change session is also retained when the session is saved. Only when the View Compare/Merge session is closed does the user have the choice to release the exclusive lock.

Change Packages Can be Opened and Edited

A saved change session appears as owned by the target view to which it applies. The StarTeam Cross-Platform Client provides a Change Perspective view to see saved change packages and open them. A change package must be opened in order to see details about items that have been compared or updated by the session.

By default, when a saved change session is opened, it is locked exclusively at the server. Consequently only one user can actively edit it at a time. If an exclusive lock cannot be obtained, the user can open the change package in read-only mode or attempt to break the exclusive lock.

Note: Breaking an exclusive lock requires the “break lock” privilege.

A user can always open a change package to which he has the read access right in read-only mode. A change package can be opened in read-only mode by multiple users. A change package opened from a rolled-back configuration of the target view can only be opened in read-only mode. Furthermore, the change package revision saved as of the rolled-back configuration is the revision opened. (This is useful, for example, to review information in an older revision of a change package.)

A change package can be opened, edited, and saved any number of times. When a change package is opened, it appears in a StarTeam Cross-Platform Client window as a resumed View Compare/Merge session.

When a change session is opened for editing, the only item-level changes allowed are changing View Compare/Merge action types (for instance, marking a difference as ignore) and resolving merge conflicts (for example, manually merging properties or file contents).

The only non-item edits allowed in a change package are:

  • The change package’s Name and Description properties
  • Pre- and post-commit revision and view label options
  • The change package’s Revision Comment, which is used when the View Compare/Merge session is saved or committed
  • The View Compare/Merge session’s Working Folder
  • The View Compare/Merge session’s Default Comment, which is used as the revision comment for any new item revisions created during commit
  • The View Compare/Merge sessions Responsibility, which is the person responsible for that View Compare/Merge session