Graphical Stream Browser Display
Tabular Stream Browser Display
Workflow Stream Browser Display
Streams, Snapshots, and Workspaces
Expanding and Collapsing Subtrees
Historical View of the Stream Hierarchy
Viewing a Stream's Current Development Activity
Viewing Activity By Transaction
Viewing Activity By Issue Record
Promote Operations and Workflow Transitions
Drag-and-Drop Operations in Workflow Mode
Connecting Workflow Transitions to Promote Operations
Reparenting Streams and Workspaces
Setting or Changing a Stream's Basis Time
AccuRev's unique Stream Browser enables graphical control over the entire configuration management environment, in a way that is simple, flexible, and powerful. Using the Stream Browser, you can view and manipulate all the streams in a depot, including workspace streams The private stream that is built into a workspace. All new versions of elements are originally created in workspaces; AccuRev records these versions in workspace streams. and snapshots A immutable ('frozen', 'static') stream that captures the configuration of another stream at a particular time. A snapshot cannot be renamed or modified in any way..
You can open a Stream Browser tab to display the streams of the current depot CLI: the depot associated with the workspace that contains current working directory. GUI: the depot whose data appears in the currently visible GUI tab. The current depot's name is displayed in the status bar at the bottom of the GUI window. in any of these ways:
Choose View > Streams from the GUI main menu.
Click the View Streams button on the GUI main toolbar.
Choose View > Streams from the context menu of a depot on a Depots tab.
If there is no current depot, AccuRev prompts you to select one.
You can use the Stream Browser in any of the following display modes, which you select using buttons on the Stream Browser toolbar:
Graphical mode: displays the depot's stream hierarchy as a tree (root node at the upper left)
Tabular mode: displays a table containing the depot's streams, snapshots, and workspaces, initially sorted by stream name.
Graphical/tabular mode: both of the above -- the tab is divided into a graphical pane (above) and a tabular pane (below). A movable separator bar enables you to adjust the space allocation to the panes.
Graphical/workflow mode: the tab is divided into a graphical pane (above) and a pane that displays the workflow A directed graph, defined in the Workflow subtab of the AccuWork Schema Editor. The graph's nodes are the 'workflow stages' that an AccuWork issue record can pass through. The graph's arrows are the 'workflow transitions' that users invoke to migrate issue records from stage to stage. defined for the depot's issue database (AccuWork) A set of issue records, each of which implements a bug report, feature description, etc. Each depot can have its own issue database. Each issue database has its own schema..
You can have any number of Stream Browser tabs open at the same time, each for a different depot. You can also open multiple Stream Browser tabs on the same depot, by invoking the Clone Tab command on the context menu of the tab control.
The graphical display of a depot's stream hierarchy is organized as follows:
The depot's root stream (top-level) is at the left edge.
A given stream's children appear to its right; the children are arranged vertically, in this order:
Workspaces, in alphabetical order
Dynamic streams with no basis time A date-timestamp setting for a stream, affecting which versions the stream inherits from its parent stream: for each element, the version inherited is the one that was in the parent stream at the basis time. See snapshot. and pass-through streams, ordered by creation time (most recent last)
Dynamic streams / snapshots with basis times, ordered by basis time (most recent first)
Each stream is annotated with an icon that indicates the kind of stream:
dynamic A stream whose configuration changes over time, and which can inherit versions from its parent stream. ("normal") stream
time-based A stream that has a "basis time", affecting which versions it inherits from its parent stream. See basis time, parent stream. dynamic stream
workspace stream The private stream that is built into a workspace. All new versions of elements are originally created in workspaces; AccuRev records these versions in workspace streams.
snapshot A immutable ('frozen', 'static') stream that captures the configuration of another stream at a particular time. A snapshot cannot be renamed or modified in any way. (static stream)
pass-through When a version is nominally promoted to pass-through stream X, the version automatically 'passes through' X: it is actually promoted to X’s parent stream. stream
Each stream or workspace that has active An element is said to be active in a workspace or stream if a new version of the element has been created there, and that version has not been either (1) promoted to the parent stream or (2) purged from the workspace or stream. See default group, backed, passive. An issue record is said to be active in a workspace or stream if the head version of one or more of its change package entries is in the stream's default group. elements (that is, a non-empty default group The set of elements that are currently active in a particular workspace or stream.) is displayed with a special control that opens and closes a subwindow showing the activity's details. Click here for a general discussion of the default group.
Each stream can have a lock A control on a dynamic stream, controlling promote and include/exclude operations involving that stream., which prevents certain operations involving that stream from being performed. If a lock exists on a stream, a special control appears, which provides access to the Locks dialog box.
If you have set a Stream Filter, or limited the Stream Browser display, only a subset of the streams in the depot appear. The Stream Filter is applied first; then the other display restrictions are used to further restrict the set of streams shown.
In tabular display mode, the Stream Browser tab contains a table listing some or all of the current depot’s streams (including snapshots and workspaces). If you have used the global stream filter to restrict the display, only the stream paths and children (if any) for the selected streams appear in the table.
The checkboxes and list box at the bottom of the tab work the same way as in graphical mode to control which streams are included in the table. The Stream Browser’s tabular mode offers the same commands (toolbar and context menus) as the graphical mode.
See also:
AccuRev's standard table-manipulation operations
In workflow display mode, the Stream Browser tab is split into two panes: the top pane contains the graphical display of a depot's stream hierarchy; the bottom pane displays the workflow for the depot's issue database (AccuWork) A set of issue records, each of which implements a bug report, feature description, etc. Each depot can have its own issue database. Each issue database has its own schema..
A special control below each workflow stage opens a subwindow that the displays the issue records in that stage. Drag-and-drop operations make it easy to transition issue records through the workflow. See Using Workflow Mode.
The following sections describe working in the Stream Browser. Note that many of these operations can be performed only in the graphical display, not in the tabular display.
Initially, the Stream Browser displays all of the depot's currently active dynamic streams, along with workspaces for the current user. It does not display any snapshots, nor any item that you have deactivated with the Remove command.
Note: If you have set a Stream Filter, only a subset of the streams in the depot appear.
The main AccuRev toolbar contains two controls that can affect the Stream Browser display. The result of these filters will be applied to the data displayed in the Stream Browser before adjustments made via the controls within the Stream Browser.
The Filter Streams button allows you to set up a stream filter A subset of streams whose stream paths and children are visible in the AccuRev GUI. to limit the stream hierarchy The tree-structured collection of streams -- including snapshots and workspace streams -- for a particular depot. shown in the Stream Browser and any list of streams available in the AccuRev GUI. See Filtering Streams for more information.
The Filter Users/Groups button allows you to restrict the set of users and groups displayed in the Stream Browser and other locations in the AccuRev GUI. See Filtering Users/Groups for more information.
You can adjust the numbers and types of streams shown by using the controls at the bottom of the Stream Browser tab:
Include hidden streams
This checkbox is a toggle switch: it reveals/hides the data structures that have been Remove'd. (The Remove command doesn't actually delete anything from the depot; the data structure just becomes invisible and inactive.)
Snapshots
This drop-down list controls how many snapshots are visible in the Stream Browser. It contains the choices No Snapshots (the default), All Snapshots, Past week, Past 2 weeks, and Past 4 weeks. (Check the Include hidden streams checkbox if you want to see snapshots that have been Remove'd.) No matter what the setting, a snapshot remains visible if there are any workspaces or streams below it.
This drop-down list controls which of the depot's workspaces are visible in the Stream Browser. It contains the choices All Workspaces, No Workspaces, Current User (the default), Unassigned, and the name of each registered AccuRev user and group. (Check the Include hidden streams checkbox if you want to see workspaces that have been Remove'd.) To control which users and groups appear in this list, use the Tools > Filter > Users/Groups command.
Only stream paths to workspaces
This checkbox is a toggle switch. Select it to filter the streams so that only the stream path A subset of the stream hierarchy that starts at the root stream and ends at the stream being referenced.s A subset of the stream hierarchy that starts at the root stream and ends at the stream being referenced. BCA to workspaces -- the streams directly connecting the root stream to the workspace -- are visible in the Stream Browser. Unselect it to remove the filter. Use the Workspaces list to control which workspaces are shown.
In the graphical display mode, each stream that has "children" (workspaces and/or snapshots) is displayed with an expand/collapse control. Collapsing causes the entire hierarchy below the stream to disappear from the screen. This affects the Stream Browser display only. It does not affect the operation of the stream in any way.
If the Enable Stream Browser History preference is checked (Tools > Preferences command), a set of history controls are added to the toolbar. This enables you to view the stream hierarchy as it existed at any point in the past.
The Stream Browser can show the development activity An element is said to be active in a workspace or stream if a new version of the element has been created there, and that version has not been either (1) promoted to the parent stream or (2) purged from the workspace or stream. See default group, backed, passive. currently taking place in each stream or workspace. A control below 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.
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 an activity subwindow.
When displaying activity by element, the subwindow displays:
dynamic stream A stream whose configuration changes over time, with new versions promoted from child workspaces and/or from other dynamic streams. It also inherits versions from its parent stream.: the results of a Default Group search
workspace A location in which one or more users perform their work, using files under version control. Each workspace consists of a workspace stream in the repository and a workspace tree in the user's disk storage.: the intersection of the results of a Default Group search and the results of a Pending search
Click here for more information on the relationship (and differences) between these two searches.
You can select one or more of the element versions and invoke commands on them, using the subwindow's toolbar. The commands available are the same as in the File Browser.
You can also perform these drag-and-drop operations:
Dragging the subwindow control (but not elements within the subwindow) to the parent stream or another dynamic stream performs a Promote or Send to Change Palette operation on all the element versions in the subwindow.
Dragging the subwindow control (or a selection of one or more versions within the subwindow) to a workspace performs a Send to Workspace operation.
When displaying a stream's activity by element, the subwindow displays the transactions A record in the AccuRev repository database that indicates a particular change: promoting of a set of versions, changing the name of a stream, modification to an issue record, etc. Each transaction has an integer transaction number, which is unique within the depot. that created the versions that are currently active in the stream. This display is the same as that in the Summary pane of an Active Transactions tab. You can select one or more transactions and perform commands on them, just as in the Active Transactions tab.
When displaying a stream's activity by issue record, the subwindow displays the issue records A data record, consisting of values of data fields, stored in a Dispatch issue database. that are in a particular stream. This display is the same as that in the Issues pane of a Stream Issues tab. You can select one or more issue records and perform commands on them, just as in the Stream Issues tab.
You can also perform this drag-and-drop operation:
Dragging the subwindow control (but not elements within the subwindow) to the parent stream or another dynamic stream performs a Promote or Send to Change Palette operation on all the versions in the change packages A set of entries, each in the form of a basis-version/head-version pair, recorded on the Changes tab of an issue record. The change package records the changes to one or more elements, made to implement the feature or bugfix described in that issue record. Each entry in the change package describes changes to one element: the changes between the basis version and the head version. See patch. of the subwindow's issue records.
If you are using AccuWorkflow, a Promote operation you invoke in a Stream Browser stream activity subwindow (or by other means) can have the "side effect" of performing a workflow transition An arrow in an AccuWork workflow, pointing to a particular workflow stage. This represents one step that an issue record can take through the workflow. A transition has two components: a transition action (such as 'Finish Dvt') and a workflow stage (such as 'Implemented') that is the arrow's destination. Each workflow transition can be configured to start from any number of stages.. For example, you might have configured AccuWorkflow so that promoting versions from the cup_dvt stream to the cup_tst stream can transition one or more issue records from workflow stage A node in an AccuWork workflow, representing one of the steps in the 'lifetime' of an issue record. See workflow, workflow transition.Implemented to stage In Test.
In the workflow pane, each workflow stage has a special control that works similarly to the graphical pane controls on streams: clicking a stage's control opens or closes a subwindow that displays issue records that are currently in that stage:
At any given time, your organization probably has several (or many) active development efforts. In the upper pane, you must focus the workflow's issue-record display on a particular development effort by designating one stream as the "current project". Its name is displayed as a title in the lower pane, and also in each issue-record subwindow:
So the contents of a workflow-mode subwindow is the set of issue records that are:
in a particular workflow stage
in the context of a particular project
AccuWorkflow selects the issue records by performing a query, in which the "current project" stream is tested against the value of a particular issue-record field -- for example, Target Release. The field used in this workflow query is configurable; see Issue Record Fields Used in a Workflow Query.
You can drag-and-drop the special control for a workflow stage onto any of the workflow transitions An arrow in an AccuWork workflow, pointing to a particular workflow stage. This represents one step that an issue record can take through the workflow. A transition has two components: a transition action (such as "Finish Dvt") and a workflow stage (such as "Implemented") that is the arrow's destination. Each workflow transition can be configured to start from any number of stages. defined for that stage.
This performs the transition for all the issue records in that stage. For example, dragging the control to the Finish Dvt transition causes issue records #5 and #9 to transition to the Implemented stage:
Drag-and-drop operations are not defined for individual issue records -- only for a the special control, which represents all the issue records in a stage.
Each transition in a workflow can be linked to a particular dynamic stream: invoke the command
Create Stream Link from the context menu of a workflow transition, then click on a dynamic stream in the upper pane. This creates a two-way link between the workflow transition (T) and the stream (S):
If transition T is invoked on an issue record, AccuRev attempts to promote all the versions in the issue record's change package A set of entries, each in the form of a basis-version/head-version pair, recorded on the Changes tab of an issue record. The change package records the changes to one or more elements, made to implement the feature or bugfix described in that issue record. Each entry in the change package describes changes to one element: the changes between the basis version and the head version. See patch. that are currently active in stream S to S's parent stream.
If all the versions in the issue record's change package are promoted from stream S to its parent, AccuWorkflow attempts to apply transition T to the issue record.
AccuRev lets you change the backing stream (parent stream) of any dynamic stream or workspace. The Stream Browser makes it simple: you just drag-and-drop a stream or workspace from its current location in the hierarchy to its new parent.
The entire subhierarchy moves to the new location. Changing a data structure's location in the stream hierarchy is called reparenting. If the Stream Browser display contains many streams or the stream structure is very complex, an alternative method of reparenting a stream is to select Reparent from the context menu of the stream or workspace, then navigate to and click the new parent stream. You are asked to confirm the operation.
Important
After you change the location of a workspace, be sure to Update it. This ensures that the workspace contains the correct set of versions, many of which it will inherit from its new parent. Likewise, after changing the location of a stream, all workspaces in the subhierarchy below that stream should be Update'd.
Notes (click to view):
You cannot reparent a snapshot; both the contents and the parentage of snapshot are fixed permanently.
Exclusive file locking workspaces
You cannot reparent (or change any of the other specifications) of a workspace created with the exclusive file locking An AccuRev feature that enforces serial development: when a file becomes active in one workspace, an exclusive file lock prevents the file from becoming active in sibling workspaces. feature.
If you reparent a time-based stream A stream that has a "basis time", affecting which versions it inherits from its parent stream. See basis time, parent stream., AccuRev asks whether you wish to retain the basis time or remove it.
The drag-and-drop operation changes one property of a stream: its parent. You can also change a stream's properties using the Change Stream command on its context menu.
Although you can give a new name to an existing stream, you cannot proceed to create a new stream with the old name. The old name remains associated with its stream. The only way to reuse a stream name is to completely remove the stream's depot from the AccuRev repository, using the AccuRev administration utility, maintain.
By default, a stream inherits all versions from its parent, no matter when those versions were created. If you assign a basis time A date-timestamp setting for a stream, affecting which versions the stream inherits from its parent stream: for each element, the version inherited is the one that was in the parent stream at the basis time. See snapshot. to a stream, it inherits only those versions created before the specified point in time. (The File Browser's include/exclude facility provides another way to restrict which versions get inherited from the parent stream.)
The context menu of any data structure in the Stream Browser includes commands for creating new structures at that point in the hierarchy. New Stream and New Snapshot display dialogs similar to that of Change Stream. The New Workspace command invokes a wizard that steps you through the process of defining a new workspace: you specify a name and a location on disk; you can also make some optional settings, such as controlling how line endings in text files are to be handled.
Open
Using a File Browser tab, display the entire contents of the selected stream, snapshot, or workspace.
New Stream
Create a new dynamic stream or pass-through stream, based on (that is, as a child of) the selected stream or snapshot. A Stream Configuration dialog appears.
New Workspace
Create a new workspace, based on (that is, as a child of) the selected stream or snapshot. A New Workspace wizard helps you to configure the workspace.
New Snapshot
Create a new snapshot, based on (that is, as a child of) the selected stream A New Snapshot dialog appears.
Change Stream
Modify the configuration of the selected dynamic stream or pass-through stream. A Stream Configuration dialog appears.
Reparent
Change the backing stream (parent stream) of the selected dynamic stream or workspace.
After confirmation, hide the selected stream, snapshot, or workspace. This removes the object from the Stream Browser display.
Removal affects how the object can be used:
Workspace: deactivates the workspace, so that it cannot be used in AccuRev commands.
Stream or snapshot: no effect; you can still promote to the stream, create a substream of it, or reparent it.
Notes (click to view):
Removing a workspace that belongs to another user
You cannot do this using the AccuRev GUI. The rmws -s command in the AccuRev CLI provides this capability.
Reactivate
Undo a Remove command for the selected stream, snapshot, or workspace.
Locks ... (Lock/Unlock Stream)
(Dynamic stream only) Lock a stream, to disable various operations that modify the stream. If a stream is already locked, a lock icon appears in the Stream Browser graphical display, and in the Locks column of the tabular display. A Lock dialog appears.
WIP (Work in Progress)
Open a WIP tab, displaying the active elements in workspaces and/or streams related to the selected stream.
Search for Stream
Find the stream(s) whose name includes a specified character string. A Search for Stream dialog appears.
Show All Overlaps
(Workspace only) Using an Overlaps tab: for active file elements (those in the workspace's default group), display all overlaps involving versions in the workspace's entire backing chain (higher-level streams) -- not just overlaps between the workspace and its immediate parent stream.
Show Active ...
There are three commands to display the stream's development activity, using the appropriate tool for the current development-activity mode:
Element mode: open a File Browser tab on the selected stream, and execute a search for active elements.
Transaction mode: open an Active Transactions tab, showing the transactions that created the versions currently in the selected stream's default group.
Issue Record mode: open a Stream Issues tab, showing the change packages that have been (partially or completely) incorporated into the selected stream.
The way the three commands appear on a stream's context menu varies with the development-activity mode: the command for the current mode appears at the top-level of the context menu; the commands for the other two modes are in a submenu. [example]
This example shows how the menu choices appear if the Stream Browser is currently displaying activity by issue record.
Show History
Using a History Browser, display the transactions that created versions in the selected stream.
Show Diff By Files
Using a Diff Streams window, show the element-by-element differences between the selected stream and another stream (which AccuRev prompts you to specify).
Show Diff By Issues
Using a Stream Issues window, show the differences between the selected stream and another stream (which AccuRev prompts you to specify). The differences are shown in terms of change packages instead of individual elements.
Send to Change Palette
Send the active elements for the selected stream to the Change Palette.
Show Patch List
Using a Patch List tab, list all the individual versions whose changes are in the selected stream, but are not in another stream (which AccuRev prompts you to specify).
Stream as Project
(AccuWorkflow only) Set the selected stream as the current project for AccuWorkflow.
Add to Stream Filter / Remove from Stream Filter
If the selected stream is not in the stream filter A subset of streams whose stream paths and children are visible in the AccuRev GUI., add it and immediately apply the filter. If the selected stream is in the stream filter, remove it and immediately update the filter. See Filtering Streams for more information on editing and using the stream filter.
Graphical Display
Display the depot's stream hierarchy as a tree.
Tabular Display
Display the depot's stream hierarchy as a table.
Graphical/Tabular Display
Display the depot's stream hierarchy as a tree in one pane, and as a table in another pane.
Graphical/Workflow Display
(AccuWorkflow only) Display the depot's stream hierarchy as a tree in one pane, and display the depot's workflow in another pane.