We continuously solicit input on the features and product improvements that are most impactful to our customers’ development efforts.
What's New in AccuRev 6.1
AccuRev proudly introduces AccuRev Version 6.1. This release provides additional refinements to the advances in Change Packages functionality introduced in Version 6.0, new features for working with issues in AccuWork, and new features to support continuous integration. Along with these and other improvements to the GUI, AccuRev 6.1 provides numerous enhancements to the command line interface and user documentation, as well as other changes based on feedback from our users.
Highlights of the exciting developments in AccuRev 6.1 are captured here. Refer to the release notes for more details about these features and other enhancements.
Simplified Issue Change Palette
The Issue Change Palette, which was modified in AccuRev Version 6.0, has benefitted from additional enhancements that simplify its ease-of-use. Notable changes include:
- Enhancements to the change algorithm have made it possible to remove the Promote, Status, Details, and Resolved in Workspace columns from the Issue Change Palette’s top panel. The upper panel still displays issues that need to be cross-promoted in order to resolve dependencies.
- A Show Dependencies option has been added to the Issue Change Palette to display only those issues whose change packages depend on those of other issues.
- In the previous release, the contents of the merge list that appears in the Issue Change Palette’s lower pane were based on the contents of the Promote column. In AccuRev 6.1, the elements displayed in the lower pane are based on the currently selected issues.
- After a Merge or Patch operation, AccuRev now prompts you to promote the issue to fully resolve the dependency.
New: Diff Across All Segments
When users promote the same element against different issues, the element is said to contain different segments, or versions of the element that have been promoted against a specific issue. A new option, Diff Across All Segments, enables users to perform a diff operation on the earliest and latest versions of the element that were promoted against a given issue. Diff Across All Segments ignores any changes made to the element that were promoted against other issues.
New: Support for Secure Client-Server Communication
AccuRev 6.1 supports the Secure Socket Layer (SSL) protocol to provide secure, encrypted communication between AccuRev clients and servers. Once SSL has been enabled by the AccuRev system administrator, AccuRev servers provide certificates to authenticate themselves to the AccuRev clients that are trying to connect to them. When the certificate is accepted, AccuRev is able to establish encrypted client-server communication.
New: Issue Cloning
Cloning creates a new, fully-defined issue based on an existing issue. Issues can be cloned in most places you find issue information displayed in AccuRev, including the Issue form and the Query Results pane. If the original issue has attachments or has been specified as a sub-task of another issue, you are prompted to include those attachments and establish the sub-task relationship with the newly created issue. To help easily distinguish cloned issues, the original Short Description is prefixed with the text [Clone of <issue number>], which you can change before saving the new issue.
Subtask Issue Enhancements
AccuWork has long supported multiple relationship types for issues, including parent/subtask relationships. Support for subtasks in AccuRev Version 6.1 has been enhanced with new features such as:
- Drag-and-drop -- In previous releases, parent and subtask issue relationships could be created only by specifying the relationship using the Link with Issue dialog box accessible from the Relationships tab on the Issue form. In AccuRev Version 6.1, you can drag issues you want to specify as subtasks and drop them on the parent issue in most places where lists of issues are displayed, such as the Query Results pane.
- Multiple-level hierarchy -- In previous releases, parent/subtask relationships were restricted to a single generation. Now you can create subtasks for issues that are themselves subtasks -- grandparent/parent/subtask, for example.
- Dedicated form -- To make subtasks easier to work with, they are now displayed on their own tab on the Issue form. If you choose, you can still create parent/subtask issues using Link with Issue dialog box accessible from the toolbar buttons as in previous AccuRev releases.
New Stream Property Lets You Display Build Status
A new streamCustomIcon reserved stream property lets you display one of four build-status icons -- success, running, failed, or warning -- on any build streams in your depot. Using predefined XML, you can customize the tooltip that appears when you hover over the icon in the StreamBrowser; by default, it displays the build status reflected in the icon, but you might want to add the build number or change the text -- build 1738 succeeded, for example. A <clickurl> tag lets you include a URL so users have easy access to build artifacts or messages from your build machine that might help them troubleshoot build failures.
New Platform Support
AccuRev Version 6.1 adds support for the following platforms for both the AccuRev server and AccuRev client, except where noted:
- Microsoft Windows Server 2012
- Linux SUSE 12+
- Linux Ubuntu 12+
- IBM AIX 7.1 (AccuRev client only)
New CLI Commands and Options
The AccuRev command line interface (CLI) has a number of new options developed in concert with the enhancements to change packages and support for SSL.
New Options for cpkdescribe
The cpkdescribe command lists the elements in the specified change package -- the same content that is displayed on the Changes tab of the specified AccuWork issue record. New options provide more control over what information the cpkdescribe command returns.
The -t option allows you to specify either a timestamp or transaction number to help you narrow your result set to a time or transaction of interest.
The new --include_missing_segments option lets you include missing segments in the result set -- missing segments are excluded by the cpkdescribe command by default.
New Commands for SSL Support
Support for SSL in AccuRev 6.1 includes the addition of several new commands to the AccuRev CLI.
Allows users to inspect and accept the SSL certificate. Certificates must be accepted in order to establish encrypted communication with the AccuRev server.
Allows users to obtain a new SSL certificate when the currently accepted certificate expires. Once inspected, users must accept it to work with AccuRev.
Allows users to disable SSL for the AccuRev client in those situations in which previously established SSL is disabled on the AccuRev server.
See the CLI documentation (CLI User’s Guide or CLI help) for more information.
Changes to the Documentation
The user documentation was updated for AccuRev 6.1 with new content to describe new features and functionality, as well as changes made in response to our customers' feedback.
What’s New In AccuRev 6.0
Change packages are now easier to use, allowing you to work in a natural manner without the necessity of manual rules and procedures.
Change Package Improvements
AccuRev has always been good at showing you where your files are and how your project is progressing, but with Release 6.0, improvements in the following areas now make it easier to manipulate the elements involved in those projects.
- Issue Dependencies -- AccuRev now automatically keeps track of changes even when the same element has versions from two different issues. It is no longer necessary to ensure that all changes for one issue are complete before promoting changes for a different issue.
- Tracking Issues -- Tracking issues are still available if you wish to use them, but they are no longer required when you patch an issue from one stream to another (see “Enhanced Change Palette Behavior” below).
- Incomplete Change Packages and Unaffiliated Changes – AccuRev has always been able to alert you to files that are missing from a change package, but now it is also able to alert you to missing versions of a file. This means that you will see far fewer instances of “Unaffiliated Changes” (versions of files that cannot be associated with an issue in the current stream). Also, you can now send all Unaffiliated Changes to an issue with a single mouse click, making it easier to clean up your streams.
- Multiple segments (“multi-segments”) -- AccuRev 6.0 treats contiguous versions of a file as a segment. Each segment can be tracked and handled independently. That way, multiple promotes for Issue #1, for example, can be tracked, and having a “gap” caused by an intervening promote of Issue #2 does not cause a problem. You can think of each segment almost as a separate patch (not the AccuRev patch command, but a generic, development patch). AccuRev handles all the record-keeping automatically, and you no longer need to deal with the changes introduced by Issue #2.
- Variants – AccuRev 6.0 replaces the need for a separate tracking issue with a new, automatically generated variant of the existing issue. Although you do not need to know that variants exist during your day-to-day work (AccuRev automatically takes care of these details for you), variants are visible in a limited number of places in the UI. Variants are described in detail in the new “Change Packages” chapter of the On-Line Help, for administrators and power users who want to understand when and why variants get created.
Enhanced Change Palette BehaviorAs part of the improvements to change packages, the Change Palette has changed in the following ways:
- You no longer need to use the Change Palette for simple cross-promotes. You can simply drag & drop items from a dynamic stream to the destination stream. If there are no conflicts, the operation completes immediately. AccuRev only brings up the Change Palette if there is a conflict that requires your intervention.
- There is now an enhanced Change Palette mode for issues. This mode provides functionality for efficiently identifying and dealing with conflicts and issue dependencies, and then promoting the issues into the destination stream.
New File Browser ModesThe File Browser for workspaces and streams benefits from a major revision with new modes that make it easier than ever to quickly focus on those files that are of interest to you with a single click.
- Explorer mode – The Explorer Mode displays all the files and directories in the current workspace or stream. You can use the Explorer mode to get a complete picture of your AccuRev workspace or stream, and to set rules about which files and directories you want to make available.
- Outgoing Changes mode – The Outgoing Changes mode displays only those files and directories that have changed in, been added to, or removed from the current workspace or stream. In workspaces, you can use Outgoing Changes Mode to save new work; in workspaces and streams, you can promote changes to the parent stream. Filters let you show files with any combination of (member), (modified), (external), (missing), (overlap), or (stranded) status. The explorer tree displays an asterisk on any workspace directory containing a change, making your changes even easier to find.
- Incoming Changes mode – The Incoming Changes mode provides a preview of any files and directories that will be changed in, added to, or removed from your workspace when you update. The Update operation keeps your workspace current with any changes that have been made to files and directories in the parent stream. In Incoming Changes mode, the explorer tree displays only those directories that will be refreshed when you update your workspace.
- Conflicts mode -- The Conflicts mode displays the files in the current workspace or stream that conflict with another version of the same file in the parent stream or a stream elsewhere in the stream hierarchy. Examples of conflicting files include those with a status of (overlap) and (twin). You can use the Conflicts mode to resolve these conflicts -- by diffing versions and merging changes when it makes sense to do so, for example. The explorer tree in Conflicts mode displays only those directories that contain files whose versions are in conflict.
Other improvements to the File Browser include:
- An embedded read-only Diff pane lets you quickly compare versions. The Diff pane, which supports image files, is populated each time you select a file in Outgoing Changes, Incoming Changes, and Conflicts modes. You can hide it with a single click.
- The ability to save the File Browser layout and mode settings as a personal preference. AccuRev maintains stream and workspace File Browser layout settings separately.
- The Search Workspace field has been enhanced to include the name of the directory that currently has focus in the Explorer pane so you always know where you are searching.
- Toolbars in each mode have been streamlined to include the most commonly performed actions. Similarly, context menus now display only relevant choices.
- To speed performance, AccuRev searches for (stranded) files or deep overlap files only if you ask it to. The Deep Overlap Optimization feature remains available to help make searches for deep overlaps as efficient as possible.
- Tooltips, labels, and instructional text have been improved throughout the AccuRev GUI.
In AccuRev 6.0, status filters are built into Outgoing Changes, Incoming Changes, and Conflicts modes (the Explorer mode shows all files in your workspace, including any that have not yet been added to AccuRev). Now, if you want to see all your new work or unsaved changes, simply open the Outgoing Changes mode. Want to see all the files that might prevent you from updating your workspace or promoting your changes, click Conflicts. The AccuRev status associated with each file is displayed, but with File Browser modes you no longer have to hunt and peck through over a dozen filters in order to accomplish everyday software development tasks.
Adding new files to a workspace is a common occurrence in daily software development. Prior to AccuRev 6.0, sharing new work with others on your team required separate Add to Depot, Keep, and Promote actions. Now, AccuRev takes care of all the interim actions for you. For example, you can now directly Promote an external file – when you click the Promote button, under the covers AccuRev performs the necessary add and keep actions. Similarly, you can Keep an external file, and AccuRev performs the add action. And in the Incoming Changes mode, the Actions column spells out the actions AccuRev will perform when you update your workspace. As part of these enhancements, the Add to Depot action is no longer discretely available in the AccuRev GUI (through menus or toolbars, for example); the add command, however, remains available in the AccuRev CLI.
Enhanced Keep and Promote Actions in the AccuRev GUI
The layout of streams in the StreamBrowser used to be horizontal – child streams fanned out to the right of their parents, and the stream boxes were aligned in columns, with the size of the stream boxes determined by the maximum name size within that column. For example, a stream named ac_5.5_build was as wide as a stream named ac_5.5_dev_workflow_itr4_doc_dfoster. This setting provided a uniform presentation that made viewing the stream hierarchy easy, but it also required a lot of horizontal space that made it easy to “get lost” in larger depots.
New StreamBrowser Layout Options
AccuRev 6.0 retains the horizontal layout choice, but it now uses a vertical layout by default - child streams appear underneath their parents, and indented. It’s a layout that’s graphically economical and familiar to anyone who has ever used a common tree control. In vertical layout, the stream boxes are always sized to be the width of individual stream names.
A new style property lets you specify the background color for streams using the accurev setproperty command. The style property is specified in XML; colors are set using hex values. Any web-safe color is supported.
New Stream Property Lets You Set Stream Color
In addition to using the style property to manually highlight streams of interest, you might choose to incorporate the accurev setproperty in a script that sets a stream color based on events – you might want to set a build stream to red (#FF0000) if the build fails, and green (#00FF00) when the build passes, for example. Stream background colors are supported in both the AccuRev GUI and the AccuRev Web UI.
The Active Transactions display now provides a show current change package checkbox to control whether the lower pane displays the current state of the related change package (the default prior to Release 6.0), or the state of the change package as it was at the time of the selected transaction (the new default).
Active Transactions Enhancement
The Version Browser has been enhanced in several ways, both to support the latest change package improvements, as well as to make it generally easier to use. The simplification of the Version Browser has allowed us to eliminate the “Basic” and “Advanced” modes, leaving a single, easier-to-navigate display. Whenever possible, workgroups with common versions are now collapsed into “workspace groups”. This not only makes the display much easier to navigate and understand, it reflects the way traditional version graphs summarize the relationship of different versions.
Version Browser Enhancements
The Version Browser display now includes both graphical and tabular panes. The table has two tabs (Streams & Workspaces, and Issues) and displays only information that is relevant in the upper, graphical pane. Selecting a row in the table highlights related items in the graphical view.
In the graphical pane, the version boxes for real versions now also display issue boxes, listing any relevant AccuWork issues for that version. Mousing over most GUI elements displays additional information: mousing over a version box now displays both real version and alias version numbers; mousing over a workspace group displays a list of member workspaces.
Finally, a new Purge line type has been added to the existing Ancestor, Alias, Merge, Patch, and Revert lines.
The AccuRev command line interface (CLI) has a number of new options developed in concert with the enhancements to the File Browser, Version Browser, and change packages.
New CLI Commands and Options
- cpkadd -j
- The new -j option can be used to specify the basis version.
cpkremove -k -j
The new -k option processes all elements with a (kept) status. Use -j to specify the basis version of the segment to be removed.
- hist --show_historic_cpk
the time of the specified transaction. When this option is not specified, hist shows the current state of the change package.
- stat --outgoing
- A new option that includes all files and elements in the workspace, except those with a status of (stranded). Use -i to include elements with a status of (stranded).
The user documentation was updated for AccuRev 6.0. In addition to new content to describe new features and functionality, existing users might be interested in changes to the following books. All of these changes are part of an ongoing effort to streamline the user documentation and provide fewer, more meaningful titles to make product information more accessible.
Changes to the Documentation
On-Line Help GuideThe On-Line Help Guide includes several new chapters:
- Chapter 6, “The Version Browser”
- Chapter 10, “Change Packages”
- Appendix A, “The Schema Editor (Administrators Only)”