What’s New in AccuRev 7.6
Highlights of new developments in AccuRev 7.6 are captured here. The following sections describe enhancements to the AccuRev Git Server, new functionality in the AccuRev GUI, IPv6 support, the ability to sync CPK and variants information to Jira, and improvements to the acserverctl utility.
Expanded Git Server Functionality
With AccuRev Git Server, we aim to provide a Git experience to end users without requiring any additional training or support. To that end, we have added several features to the Git Server and improved its usability in release 7.6.
Note: AccuRev 7.6 Git Server requires that Git version 2.31 or higher be installed on the system by the normal OS means.
Licenses for Git Server Use
Beginning with release 7.6, GitCentric licenses provide an alternative to full AccuRev licenses for accessing AccuRev Git Server. Users who access just the Git Server, and not AccuRev, consume a GitCentric license. If they then login to the AccuRev server via the CLI or the GUI, their checked-out GitCentric license is converted to a full AccuRev license.
If a GitCentric license is not available to a user who is accessing just the Git Server, a full AccuRev license is consumed instead.
"GitCentric licenses" will be renamed "Git Server licenses" in the next release after 7.6.
AccuRev User’s "License Type"
Every AccuRev user has an associated "license type" that is specified when the user is created or edited. Any user who intends to use AccuRev or Git Server must have their license type set to Full:
The "Full" license type does not mean that the user will always consume a full AccuRev license. If the user accesses only the Git Server, they will consume a GitCentric license, assuming one is available.
Importing Third-Party Repos
The new Import Repo feature in AccuRev 7.6 Git Server creates an AccuRev depot to host a project from a third-party Git server. This enables developers using AccuRev to contribute to the Git project, while adding AccuRev support for access control, time safety (audit trail), triggers, and change packages.
The Import process is simple. A wizard takes you through the steps of specifying:
The repo to import
Git credentials to access the repo. (The Username must be a Git username, not an email address.)
The start date for the repo history information that will be available through AccuRev (you do not need to import 10 years of history if you do not want to)
A mapping of Git users to AccuRev users
The new AccuRev depot and stream that will correspond to the Git repo
If you opt to use change packages for your project, your Git developers need only learn how to select the issues that they are working on in Git Server. Then they can work in the imported repo with their usual Git tools, and subsequent commits that they push to the repo will be associated with the issues they specified.
If your project does not require change packages, then developers who want to work purely in the Git world can continue to work with third-party Git servers, while AccuRev developers use the AccuRev tools. You can periodically resync the Git repo with the AccuRev stream by doing an Update Repo in AccuRev Git Server and manually syncing from the imported repo back to the original third-party repo.
Access Log Enhancements
Beginning with release 7.6, the repo access log is stored in a database on the Git Server host instead of on that machine’s file system. Pre-existing logs from an older release are not migrated to the database.
If you want access logs to also be written to the file system (for example, for processing by third-party tools like Splunk), select the new Write to Repo Access Log File checkbox on the Git Server Configuration page. That causes the access logs to be written to the
Log entries are checksum-protected in the database. Any log entries that have been deleted or altered in the database are noted in red on the Logs page.
Git Server now provides multiple filters that you can apply to focus quickly on the access logs that interest you. The provided filters can search by date range, CPK issue, user, operation (clone/push/pull), repository, commit SHA range, IP address, and status (Success/Failure). Upon first entry to the Logs page, a default filter shows log messages from the current day.
Because filtering is done on the access log database, logs generated prior to 7.6 are not displayed on the Repo Access Logs page. You can access pre-7.6 logs in the
How to Filter Logs
Git Server displays the filtered search results below the "Selected filter" dropdown and the current set of search criteria above the dropdown, in the "Current Filter(s)" line:
How to use the buttons:
To start a new search (and discard the results of a past search):
To refine your search:
Select another filter, specify its value(s), and click Refine Search.
Your previous search results will be refined by logically "AND"ing the new filter with the pre-existing filters. The full set of applied filters is displayed in the Current Filter(s) line.
|Refresh||Click Refresh to refresh the results of the current set of filters.|
|Remove a filter||
To remove a filter:
Click its X button in the Current Filter(s) line and then click Refresh.
Issue Form Enhancements
Git Server now supports creating issues, editing all types of issue fields, and viewing change package contents. This allows you to complete your daily development tasks without having to use the AccuRev GUI or WebUI.
Issue Creation: To create a new issue from within Git Server, click the New Issue button at the top of the Issues page:
The new issue form contains this header:
Clicking Change Package Query displays the query that must be satisfied in order for this new issue to be used with a push or promote operation. For example:
Field Types: The Git Server now supports all types of issue fields, including Log, Attachments, and Relationship. It is no longer necessary to open an issue in the WebUI or GUI to edit fields of those types.
Changes Tab: The Git Server displays change package contents in the issue form’s Changes tab. There you can choose a file and do a Diff Against Basis.
Change Password Functionality
You can now change your AccuRev password from the Git Server: Click your username in the Git Server title bar and select Change Password.
Bridge Username: AccuRev Git Server uses the configured Bridge User credentials to impersonate the end user when it executes AccuRev commands. If
ASSIGN_USER_PRIVILEGEis configured in
acserver.cnf, then the bridge username must match the
ASSIGN_USER_PRIVILEGEvalue. Beginning with release 7.6, Git Server automatically populates the Bridge Username field of the Configuration page with the
ASSIGN_USER_PRIVILEGEvalue, if one exists. The system administrator must fill in the Bridge Password field.
Note: Whether you are setting up Git Server for the first time or upgrading it, before starting 7.6 Git Server, you must set
ASSIGN_USER_PRIVILEGEto the user who will serve as Git Server’s bridge user:
Shut down the AccuRev Server.
Execute (as administrator if on Windows):
maintain setcnf ASSIGN_USER_PRIVILEGE <bridge_user_name>
If you are doing an upgrade, set
ASSIGN_USER_PRIVILEGEto the user that you have already specified as the Bridge User on the Git Server Configuration page of the previous release.
Restart the AccuRev Server.
Write to Repo Access Log File: Beginning with release 7.6, the access log is stored in a database on the AccuRev server machine. Select the Write to Repo Access Log File checkbox on the Configuration page if you want the access logs also to be written to
<AccuRev_install>\git-server\logson the server file system.
The 7.6 AccuRev GUI includes several new features and demonstrates improved performance in working with issues and queries.
History and Active Issues Buttons in File Explorer
It is easy now to get to a stream’s History or Active Issues view when you are in the stream File Browser: just click the new History button or Active Issues button. You do not have to go back to the Stream Browser anymore to get to those views. The History and Active Issue buttons are displayed for dynamic streams, snapshot streams, and depot streams.
File Contents Display and Banner Files
In release 7.6, the Stream Explorer and Workspace Explorer modes feature a new Contents Pane in the lower part of the window. The Contents Pane displays the contents of the file that is currently selected in the upper part of the window. Source files are displayed with syntax highlighting. HTML, markdown, and image files are formatted appropriately. You can hide or show the Contents Pane with the click of a button:
When you first open the Explorer, if the Contents Pane is visible, it displays the stream’s "banner file". The banner file is, by default, any file at the root level with the filename
README and an optional suffix. If there are multiple candidates, preference is given to a markdown
You can specify a different file to be the stream’s banner file by executing Set as Stream Banner File in the file’s context menu. You can clear the stream’s banner file by executing Clear Stream Banner File in the top-level Actions menu.
The stream’s banner file is displayed only until you select a file in the upper panel of the Explorer view.
Expandable Promote Transactions in Stream History
The History and Active Transactions views for a stream now allow you to expand a Promote transaction by clicking the + button at the beginning of the row to see the Keep and Merge operations that occurred between that Promote and the Promote before it.
This feature comes in handy if someone "broke the build" and you want to see a list of the changes that were last promoted into the stream.
Display of Pulse Code Review in AccuWork
If a Pulse code review has been created for an AccuWork issue, you can now view and edit the code review within the AccuWork issue form by clicking the new Code Review tab. For example:
It is still possible to view the code review in the Pulse web application by clicking the icon next to the Code Review field in the issue form.
Diff Across All Segments in AccuWork
The algorithm for computing Diff Across All Segments in AccuWork has been modified in release 7.6 in order to correct invalid results that were caused by a rebase merge.
The Diff Across All Segments operation shows all changes to a file that were promoted against a single issue (let’s call it the "target issue") while ignoring any changes to the file that were promoted against a different issue. Prior to release 7.6, the left side of the Diff Across All Segments display showed the basis version, and the right side showed the result of applying the changes for the target issue to the basis version.
In 7.6, the left side of the display still shows the basis version of the file, but the right side shows the head version in the target issue, and the display highlights those diff sections that were last touched by the target issue (that is, no subsequent changes were made for a different issue).
Note: The Changes tab in 7.6 still lists rebased versions of elements.
Disabling Sync Stream
The Sync Stream feature in the GUI can now be disabled via a command ACL setting:
sync_stream has been added to the Security/Command Permissions subtab in the GUI. Denying a user permission to execute the
sync_stream command causes the Sync button in the Stream Explorer view to be disabled for that user.
Performance has improved in 7.6 for the following issue-related GUI operations:
Opening and saving issues
Opening and saving schemas
Executing issue queries
The AccuRev server and client applications in release 7.6 support Internet Protocol version 6 (IPv6) addresses, as well as IPv4 addresses.
Sync of CPK and Variants Info to Jira
Beginning with release 7.6, change package and variants information can be synced from AccuWork to Jira using the Micro Focus Connect tool. This requires you to first configure some new internal fields in Jira. For details, see the mfcConnectorAccuwork_ReadMe.html file for Micro Focus Connect AccuWork Connector 4.4.1.
UNIX/Linux acserverctl Utility
The UNIX/Linux acserverctl utility has been overhauled in 7.6 to provide enhanced functionality and better reliability. Enhancements include the ability to control the mosquitto and tomcat processes and to return the correct status when the server process has been paused. For a full description of the tool, see Controlling Server Operation in the AccuRev Help Center.