The Issue Dependencies tab contains a hierarchical display of the dependencies of a selected set of issue records -- that is, the set of issue records on which the selected records depend.Note: Note: in this description, "issue record N" is shorthand for "change package of issue record N".From this tab, you can propagate issues' change packages to other streams, using simple Promote commands and/or the Change Palette. When propagating an issue's change package to another stream, you can choose to propagate the changes in the issue's dependencies, as well.In a Stream Issues or Stream Diff (Issues) tab, select one or more issue records in the Issues pane, then click theShow Dependencies toolbar button or invoke the Show Dependencies command from the selection's context menu.
The concept of a change package depending on another change package (or an issue record depending on another issue record) is complex, utilizing several aspects of AccuRev’s product architecture. But the basic idea is familiar: when you ask for something, you sometimes get more than you asked for.This Version Browser example shows three sets of changes to an element, each assigned to a different issue record: #2, #4, and #13.At this point, issue record #13 is active in stream brass_dvt. Promoting that issue record — for example, using the Stream Issues tab — promotes version brass_dvt/6 (real version: brass_dvt_phil/25).Promoting issue record #13 would give you "more than you asked for": it would automatically promote issue records #2 and #4, as well. We describe this situation by saying that issue record #13 depends on issue records #2 and #4.In practice, most issue records' change packages contain entries for multiple elements, not a single element. In many cases, the promotion causes issue records #2 and #4 to be "partially in" the destination stream, not "completely in".The discussion above is conceptual and informal. Here’s a rigorous definition of change package dependency:Issue A depends on issue B, in the context of a promotion from stream S1 to stream S2, if issue A is active in stream S1 and at least one element meets all the following conditions:
• The head version of the element’s entry in issue A is a descendant of the head version in issue B. (That is, the A version contains the changes made in the B version.)
• Stream S2’s version of the element is not either the head version of the element’s entry in issue B or a descendant of it. (That is, the changes made in the B version have not yet been promoted to stream S2.)Note that the definition of change package dependency cites a pair of streams as its context. The Issue Dependencies tab shows dependencies in the context of a promotion ...
• from the stream or workspace on which you opened a Stream Issues tab ...
• to its parent stream.For each issue record, there is a dependency hierarchy: the issue directly depends on several issues; each of those issues directly depends on several issues; and so on.The Issue Dependencies tab layout is similar to that of the Stream Issues tab: two panes, each with its own toolbar. The upper pane is the Issues Pane, and the lower one is the Change Package Contents Pane:The Issues pane displays the issue records that were selected for the Show Dependencies command.Note: For each issue record, it displays the fields specified in the Change Package Results section of the Schema Editor's Change Packages tab.If an issue record has dependencies, a tree control appears, initially in the collapsed state. Color-coding and icon differences indicate dependency-related information about the individual issue records:As you expand issue records' dependency hierarchies, you may discover that some issue records that you initially selected for the Show Dependencies command also appear as dependencies at lower levels. To help you keep track, color-coding is used at the lower levels:
• Issue records that you initially selected for the Show Dependencies command appear without a tinted background.
• Issue records that you did not initially select appear with a tinted background. These are the "new records" added to the listing by the dependency analysis.
•(yellow warning sub-icon): all of the issue's dependencies are included in the set you initially selected for the Show Dependencies command (the issues at the top hierarchy level).
•(red warning sub-icon): some of the issue's dependencies are not included in the set you initially selected for the Show Dependencies command.
The information displayed in the Change Package Contents pane varies depending on the setting of the dependencies drop-down list.Toogle between the two settings to display dependencies to and from the issue selected in the upper pane. This changes the information displayed in the bottom pane.Show Issue(s) That The Selected Issue Depends On -- Displays the versions in those issues that the selected issue depends on.Show Issue(s) That Are Dependent On The Selected Issue -- Displays the versions in the selected issue.Select one or more issue records, and invoke any of these commands from the selection's context menu:Promote each currently-active head version in the issue(s)' change package(s) to the parent stream. That is, if a version listed in the Version column is currently active in the stream from which you invoked the Show Dependencies command, that version is promoted to the parent stream.Similar to Promote Issue(s), but also include the issue records on which the selected issue(s) depend.Similar to Promote Issue(s), but instead of promoting active versions, invoke the Send to Change Palette command on them.Similar to Promote Issue(s) with All Dependencies, but instead of promoting active versions, invoke the Send to Change Palette command on them.In this pane, you can perform the same operations as in the corresponding pane of a Stream Issues or Stream Diff (Issues) tab.
AccuRev, Inc. |
Phone: 781-861-8700 |
Fax: 781-861-8704 |
support@accurev.com |