Promote-by-Issue Basics
The Stream Browser can show the development activity currently taking place in each stream or workspace. A control below or to the right of the stream or workspace opens or closes a subwindow that displays the details of the development activity.
The activity details can appear in several ways — by element, by transaction, or by issue record.
Promote-by-Issue Overview
Use the development-activity mode controls at the right side of the Stream Browser toolbar to determine how the activity details will be displayed. (The icons on the controls below the streams and workspace change accordingly.) You can change modes either before or after opening a development-activity subwindow.
When displaying a stream's activity by issue record, the subwindow displays the issue records that are in a particular stream:
(This display is the same as the results of Show Active Issues or Stream Diff by Issues. In this note, all the examples use the Stream Browser’s development activity subwindow, but you can perform promote-by-issue operations in these other contexts, also.)
Promote-by-issue involves selecting one or more issue records and performing any of the following operations:
- Invoking Promote from the subwindow’s toolbar or the context menu of the issue(s).
- Drag-and-dropping the issue record(s) onto another stream or workspace in the Stream Browser display. The destination can be the parent (backing) stream, another dynamic stream, or one of your workspaces. This invokes a Promote or Send to Workspace operation on all the elements in the selected issue record(s).
You can also drag-and-drop the subwindow control to another stream. This performs the Promote or Send to Workspace operation on all the issue records in the subwindow (even if only some of them are currently selected).
The following sections explore several promote-by-issue scenarios.
Note: In the remainder of this technical note, we shorten the term “issue record” to “issue”.
Promoting Issues to the Parent Stream
In many cases, promote-by-issue is simple and easy. You promote one or more issues to the parent stream:
And the issues simply move into the parent stream:
Note: If Promote fails with a “merge required” error, you must perform a merge for one or more elements in the source workspace (or a workspace below the source stream). When promoting the merged version(s), assign them to the same issues as the original version(s).
Cross-Promoting Issues to a Non-Parent Stream — Simple Case
Similarly, in many cases cross-promoting from one dynamic stream to another dynamic stream proceeds without complication. Perform a drag-and-drop operation:
Assuming that all the elements in the issues’ change packages can be propagated to the destination stream without merging or patching, the operation completes automatically.
Cross-Promoting Issues to a Non-Parent Stream — Patch Required
In this scenario, your intention is the same as in the preceding one — to cross-promote the versions in one or more issues from one dynamic stream to another. Before proceeding, please see the definition of the following terms in the AccuRev Glossary: direct, indirect, incomplete, cyclical, and coalesce.
You start the same way, with a drag-and-drop operation from stream brs34_able to stream brs34_baker:
But in this scenario, one or more of the elements requires a patch operation before it can be promoted. In this case, issue(s) are loaded into the Change Palette. This occurs when the element’s change-package entry does not contain the complete set of changes to the element that (1) are in the source stream and (2) have not yet been promoted to the destination stream:
This scenario is covered in Work in the Change Palette, Issue Mode.