The Change Palette
The Change Palette is a tool for propagating changes 'outside the lines' of a depot's stream hierarchy.
You use the Change Palette to promote one or more versions from a dynamic stream to a stream other than its parent stream. You cannot use the Change Palette to promote versions from your workspace to an arbitrary stream. The only destination for versions in a workspace is the workspace’s backing stream, via Promote. (But you can reparent a workspace to provide a new destination for promoted versions.)
The Change Palette helps you to manage Merge and subsequent Promote operations. You can use Patch instead of Merge, in order to send just some — not all — of the changes that a version contains.
There are two Change Palette modes: one for working with files and transactions, and another optimized for working with issues.
Although you can manually invoke the Change Palette by using Send to Change Palette in the Active Files and Active Issues windows, you typically start cross-promote operations by dragging and dropping files or issues in the stream browser. If the operation encounters conflicts that require merges or other user intervention, then AccuRev automatically displays the Change Palette to help you address those conflicts.
Note: This automatic display of the Change Palette only when you need it is new behavior as of AccuRev Release 6.0, as part of the change package enhancements introduced in that release. If you are upgrading from an earlier version of AccuRev, you will find that basic operations that do not involve conflicts no longer require the Change Palette; they now complete automatically from a simple drag & drop.
Promote vs. Cross-Promote operations
A simple promote operation transitions a version from being active in one workspace or stream to being active in the parent stream. A cross-promote operation, on the other hand, moves content from a dynamic stream into a non-parent stream or workspace. Generally speaking, there are two reasons why you would want to perform a cross-promote operation:
- To incorporate work done on an older version into a newer version
- To replicate a file that exists in one dynamic stream into another workspace or stream where it does not yet exist
Note: AccuRev considers the best practice to be cross-promoting from a stream to a workspace and not to another stream.
The effect of cross-promoting a file or a transaction is different from that of cross-promoting an issue. When you cross-promote a file or a transaction, you are transitioning the entire contents of a file or a set of files (in the case of a transaction). When you cross-promote an issue, however, you are applying a change package patch for each of the files involved in the issue and this patch may be only a portion of a file, based on changes that have occurred between the basis and head versions of the file.
When you cross promote a file, transaction, or issue, AccuRev automatically determines whether or not a patch or merge operation is required. If neither of these processes is necessary, the cross promote operation is finished. However, if AccuRev determines that a patch or merge operation is needed, the Change Palette automatically displays enabling you to take the necessary steps to complete the cross-promote.