This document contains the following sections:
Installation of AccuRev Configuration Management software on a machine involves running an installation "Wizard" program, after downloading it from the AccuRev Web site. One machine at your site should be installed as the "Server" machine -- the one that runs the AccuRev Server process and hosts the AccuRev data repository. Any number of other machines can be installed as "Client" machines.
Each machine must be installed separately. There is no batch-installation capability, but you can perform a non-interactive installation, driven by a simple configuration file. (See Non-Interactive Installation (Unix/Linux only) below.)
We present an overview of the installation process here. The wizard aims to be self-explanatory, but if you'd like a detailed, step-by-step description of the installation process, see the "Quick Evaluation" chapters in AccuRev Technical Notes .
AccuRev Versions 4.x use a different license key from previous versions. You need a new license key to upgrade successfully. Please contact support@accurev.com to obtain a new license key.
Upgrading a machine from an earlier AccuRev release is easy. You are not required to uninstall any existing software. You can install the new release "right on top of" the existing release -- the installation Wizard lets you preserve your development data and configuration files. On the server machine -- the one that runs the AccuRev Server process -- installation of the new release automatically upgrades the data repository to the new release level.
Note: On Windows machines that are running the AccuRev client, we recommend that you uninstall the existing version of AccuRev before installing AccuRev 4.0.2. Failing to first uninstall the existing version has two bothersome side-effects: First, the entry for the previous release is not removed from the Add or Remove Programs applet in the Windows control panel. Second, there is a documentation mismatch. The documentation links under the AccuRev icon in the Windows Start menu will continue to point to the old documentation, while the documentation links under the Help menu in the AccuRev application will point to the new documentation.
We assume that you've already downloaded a file containing the installation Wizard from the Downloads page of the AccuRev, Inc. Web site. If not, perform the download now, then return to these instructions.
If the file you downloaded is the Wizard itself (Windows: AccuRevInstall.exe , Unix: AccuRevInstall.bin ), then you're all ready to run the Wizard.
If you downloaded a compressed package (a file with a zip or gz suffix), you must first extract the Wizard from the package. Many extraction tools are freely available. There are handy links to such tools on the Downloads page; and the unzip and gunzip programs are standard on many Unix systems.
Now that you're ready to run the Wizard, you can proceed to the appropriate section below. When we instruct you to "start the Wizard", keep in mind these tips:
AccuRevInstall
(on Windows)
sh AccuRevInstall.bin
(on Unix/Linux)
This always launches the Wizard in graphical mode on Windows. On Unix/Linux, it launches the Wizard in graphical mode only if the X Windows System DISPLAY environment variable is set. Otherwise, it launches the Wizard in console (text) mode.
Start the Wizard. You'll be up and running in just a few minutes!
Start the Wizard. If you choose a Custom installation, be sure to select No when the Wizard asks, "Do you want to install new configuration files?".
On a Unix or Linux, system, you can run the AccuRev installation program AccuRevInstall.bin as a non-interactive "console program" instead of as a wizard. Follow these steps:
sh AccuRevInstall.bin -i SILENT -f <config-file-pathname>
You must use a full pathname to specify the installation configuration file. Use the following text as a template for the configuration file:
###
### AccuRev InstallAnywhere SILENT installation config file
###
#
# Unix/Linux usage: sh AccuRevInstall.bin -i SILENT -f <config-file>
# Windows usage: AccuRevInstall -i SILENT -f <config-file>
#
# this setting enables use of this config file; do not change.
INST_ROOT=true
# location of AccuRev installation directory (OK to already exist)
# installer creates subdirectories bin, doc, jre, etc.
USER_INSTALL_DIR=/opt/accurev
# un-comment exactly one of the following lines.
#CHOSEN_INSTALL_SET=Client
CHOSEN_INSTALL_SET=Full
# Client install: hostname of machine to run AccuRev Server process.
# Full install: this setting ignored, hostname of local machine used.
SERVER_HOSTNAME=myhost
# The traditional port for the AccuRev Server is 5050. But you can
# change it to any number. We recommend the range 5000 - 6000.
SERVER_PORT=5050
# Full install: full pathname of a valid license key file.
# installer copies this file into site_slice dir, as "keys.txt".
LICENSE_KEY_FILE=/path/to/license-key-file
Note: the SERVER_PORT setting does not work in this release. The installation program uses 5050 as the port number in the acclient.cnf and acserver.cnf files (if it creates them), no matter what value you specify in the configuration file.
Please read these Release Notes to familiarize yourself with the changes in AccuRev for Version 4.0.2.
AccuRev Version 4.x programs are incompatible with all prior AccuRev releases. If you are upgrading from a pre-V4.0 release of AccuRev, you must upgrade the machine that runs the AccuRev Server software, along with all the machines that run AccuRev client software.
AccuRev Version 4.0.2 client and server software can be intermixed with AccuRev Version 4.0 and 4.0.1 client and server software. Keep in mind that some fixes in Version 4.0.2 are client-side, some fixes are server-side, and others involve changes to both the client and server software. For best results, upgrade all client and server machines to Version 4.0.2.
No explicit conversion is required to bring the AccuRev data repository from any prior level to the Version 4.x level. When you install Version 4.0.2 on the machine that runs the AccuRev Server software (this machine also hosts the data repository), the repository will be upgraded automatically, if necessary.
Version 4.0.2 is fully compatible with both Versions 1.3.x, 1.4.x, and 1.5.x of the Java 2 Runtime Environment (JRE).
In accordance with the GNU open-source policy, the source code for the AccuRev programs acdiff and acdiff3 is available at this Web address:
http://www.accurev.com/download/open-source/acdiff_source.zip
These programs implement text-file comparison and merging operations.
Many of the commands in the AccuRev CLI tool, accurev , can produce output in XML format ( -fx option). The documentation for this release does not describe the structure of the commands' XML-format output.
(Issue #8948) You can configure a third-party diff tool or merge tool, by specifying a tool-invocation command line in the AccuRev Preferences dialog box ( Tools > Preferences command). AccuRev passes temporary files to the third-party tools; the names of these files don't indicate which versions of the file element are being used.
There are now additional substitution patterns ( %3% , %4% , and %5% ), enabling AccuRev to pass meaningful "title" strings to the third-party tool. The tool can use these strings to label the files being compared or merged. There are many ways to invoke the file-comparison and 3-way-merge operations, but in all cases, AccuRev provides these "title" strings:
/./programs/server/fs.c (talon_dvt/18)
Here is the complete set of substitution patterns:
|
filename of the version in the backing stream (or other non-workspace version) |
||
|
title to be displayed for the version in the backing stream (or other non-workspace version) |
||
The values that AccuRev substitutes for the %3%, %4%, and %5% patterns are not enclosed in double-quotes, even though the values typically include SPACE characters. All the other values are enclosed in double-quotes.
The following sections summarize the product enhancements in AccuRev Version 4.0.1.
(Issue #8077) The Send to Change Package command is enabled when multiple transactions are selected in these contexts:
If different versions of the same element are included in the multiple transactions, only the most recent version is sent to the Change Palette.
(Issue #7254) Each promote transaction includes a comment string (possibly null), supplied by the user who entered the Promote command. A pre-promote-trig script can modify or replace the user-supplied comment string. This is the only way to manipulate the comment string: once the promote transaction has been written to the AccuRev repository, it cannot be modified in any way.
The pre-promote-trig script can process the comment string using the following procedure. Note that the procedure must use the XML-format trigger parameters file, not the flat-text parameters file.
<comment>
17 elements promoted from stream widget_dvt
</comment>
The following sections summarize the product enhancements in AccuRev Version 4.0.
The GUI now supports many more keyboard accelerators, for many menu choices, for navigation in the Diff and Merge tools, and for all dialog-box buttons.
All commands are available from the keyboard -- even those on GUI context menus: the new Actions submenu of the GUI main menu provides access to context-menu commands.
Numerous items have been added to the AccuRev Preferences dialog box ( Tools > Preferences ).
The History Browser now includes an input field where you can enter a text string. This restricts the display to transactions whose Comment field includes that string.
A user preference controls how many of an element's versions are initially displayed by the Version Browser. Displaying a small number of versions can provide a significant performance improvement.
In the File Browser, the Cut command on the selected item's context menu is now enabled for multiple-element selections. This makes directory reorganization in the GUI much more efficient.
For many of its tools -- the File Browser, and tools invoked from the View , Issues , or Admin menu -- the GUI now checks whether it would create multiple tabs displaying the same data. Instead of creating a new tab, the GUI simply brings the existing tab into view. You can use the Clone command on a tab's context menu to explicitly request an additional tab that displays the same data as the existing tab.
In any table displayed by the GUI, you can double-click the right-side column divider in the heading row. This resizes the column to accommodate the widest entry currently in that column.
You can now enter TAB characters when manually editing the results of a merge. The display width of TAB characters is controlled by a user preference. Accelerator keys make it easier to navigate among the displayed changes/conflicts and to search for text in any of the panes.
The display width of TAB characters is controlled by a user preference. Accelerator keys make it easier to navigate among the displayed differences and to search for text in either of the panes. The filename display now accurately indicates the two versions being compared.
In each context where you choose a file for input or output, the GUI suggests the directory you most recently used in that context (or defaults to your home directory).
Where appropriate -- for example, in specifying attachments to an issue record -- you can specify multiple files at the same time.
In several situations where you specify a file (or other data structure) to be created, the dialog box now includes a New Folder button or icon. This enables you to create a new directory "on the fly" in which to create the data structure.
The GUI notes which tabs are open when you exit. The next time you start the GUI, it restores all the File Browser, Stream Browser, and Query tabs from the preceding session.
All boxes in the StreamBrowser now have icons indicating the type of data structure.
You can now drag-and-drop a stream's default group control
to the parent stream (to promote the contents of the default group) or to another stream (to send the default group versions to the Change Palette).
Lock icons
in the StreamBrowser display facilitate access to the stream-locking facility.
A user preference now controls whether the StreamBrowser displays a default group control for each stream and workspace with a non-empty default group. Dispensing with these controls can provide a significant performance improvement.
Zoom mode
: The StreamBrowser's
Zoom In
command restricts the display to the subhierarchy below the selected stream. Zooming in both simplifies the display and improves StreamBrowser performance. For example, refreshing the display involves determining the default-group status and the lock status for each displayed stream. When you have fewer streams displayed, this determination proceeds more quickly.
When performing a merge operation, the Change Palette suggests workspaces below the destination stream, and automatically selects such a workspace if it's your only one below the destination stream.
The Update command now warns about lack of synchronization between the system clocks on the client and server machines. The command provides better diagnostics when it refuses to overwrite modified files in your workspace. Its progress windows provides a clearer indication of when the operation has completed.
A New Folder icon makes it more convenient to place a new workspace under a newly created directory. A progress indicator provides better feedback as files are copied to the newly created workspace tree.
The AccuRev GUI is now delivered as a standard Java application only. A compiled version of the GUI is no longer included in the product. Numerous performance improvements have made a compiled version of the GUI unnecessary. The standard Java implementation is preferable for diagnosing Java-level issues at customer sites and for ease of upgrading.
In both the GUI and the CLI, you can now compare a specified version with:
The anc command can determine several kinds of ancestor to a specified version: the immediate predecessor, the corresponding basis version, or the previous occupant. It can also determine the closest common ancestor of two specified versions of a text file element.
The Promote command now automatically promotes a newly created parent directory, if necessary, when any of the elements within in are promoted.
The Add to Depot and Keep commands now support a new element type, ptext . Elements of this type are text files, but AccuRev skips its standard text-line-terminator manipulation when creating new versions of this element type.
Replication of the AccuRev repository at multiple sites now occurs on a depot-by-depot basis. The new CLI commands mkreplica and rmreplica maintain the set of replicated depots in each replica repository.
When the Update command aborts because it refuses to overwrite a modified file in the workspace, it now displays a more informative message, instead of the somewhat cryptic "CRC mismatch" message.
Several improvements have been made to the creation or updating of change package entries during execution of a Promote command:
In a Stream Issues listing ( Show Issues command in the StreamBrowser), there is an improved display of a change package when Show Incomplete is checked: change package entries that are "in" the stream are displayed with a white background, and entries that are not in the stream are shaded.
The name of the AccuRev issue management capability has been changed from "Dispatch" to "AccuWork".
The AccuWork Queries tab now displays both the user's own private queries (visible only to him) and queries that have been declared public (visible to all users). The context menu of a private query now includes the command Set as Public . The context menu of a public query now includes the command Clone Query (which creates a private copy of a query defined by another user) or the command Set as Private (to remove from public use a query defined by that user).
In a query that tests the value of a Text field, a new operator is now available: does not match .
In previous releases, the Issue History page of an issue record did not contain entries for the original field values. Now, the first Save of an issue record creates an Issue History entry for each field value that was entered manually or was initialized automatically.
Version 3.8.0 of the AccuRev Team Provider Plug-in for Eclipse is the most recent version of the plug-in. It includes these enhancements:
Version 4.0.2 resolves the following issues:
If a depot's pre-promote-trig trigger was set to client_dispatch_promote (to enable the transaction-based integration between AccuRev and AccuWork), and the depot also mistakenly had a server-post-promote-trig trigger set, the AccuRev Server would stop and restart after the Promote command completed successfully.
The limit on the length of group names was too low; group names up to 96 characters are now allowed.
When a client issues an Add to Depot ( add ) command, the XML-format parameters file passed to the server_prop_trig script did not include the user-specified element type. Each <elem> element in the parameters now follows this example:
<elem
count="0"
eid="4"
elemType="text">/src/file.txt</elem>
When a Merge was performed in a workspace that had been reparented, the Version Browser sometimes omitted the red line connecting the second contributor version to the new, merged version.
The promote command did not include the element names in the element list it passed to a server_post_promote_trig trigger if the user specified the versions with an XML-format file containing element-ID/version-ID pairs.
In the Versions pane of the History Browser, double-clicking a directory caused a "Connection lost" error box to appear. The "Open" operation is not supported for directory elements in this context.
In the Version Browser, clicking on a version that was created by the Patch command caused an error if the versions included in the patch were not all currently visible.
Execution of a pre-promote-trig script failed if the AccuRev client software was installed on a read-only file system.
When cross-promoting a defunct version between two streams, by:
... the status of the element in the "to" stream was (member) , instead of (defunct)(member) .
When a user chose not to associate newly promoted versions with a particular issue (change package), a spurious error message appeared concerning product licensing.
A previous namespace-handling improvement caused an element that was added and promoted a long time ago (prior to AccuRev 3.8) to be stranded. Namespace handling has been further improved, to provide correct behavior.
In a Stream Issues tab, when multiple issues were specified in a Promote command and multiple versions of the same element were in those issues' change packages, the oldest version was promoted. Now, the newest version is promoted.
The performance of the Populate command has been significantly improved when writing to a workspace or reference tree stored on a Red Hat Linux "GFS" file system.
Several images were missing from the Sun Java Studio chapter in the AccuRev Integrations Manual .
The Araxis diff tool and merge tool, when configured using Tools > Preferences , displayed temporary filenames for the contributors instead of version-IDs.
Version 4.0.1 resolves the following issues:
The AccuRev Administrator's Guide incorrectly described how an update works when executed against a replica repository. It now correctly describes how versions are copied from the master repository to the replica repository.
A Java-level problem caused an attempt to expand a selection by clicking while holding down the CTRL key to fail.
The streams.ndb file in the repository on a replica server could sometimes get corrupted, requiring a maintain reindex operation.
When the integration (transaction-based or change-package-based) between configuration management and issue management was enabled, issue record number(s) specified by the user with promote -I were not placed in the trigger parameters file passed to a server-post-promote-trig script (or the server part of the built-in client_dispatch_promote routine).
When the Patch command was invoked from the Change Palette, a spurious "Is a directory" error message would appear when the results file was kept.
The Change Active User command could lead to a failure in authentication of the newly selected principal-name.
If a "not authenticated" user (one whose password on the client machine does not match the password in the repository) attempted to remove a workspace, an inconsistent result occurred: the workspace tree was removed, but not the workspace stream.
In the rmreplica reference page, there was a misleading description of how a depot's slice (storage area) in the replica repository is handled.
Promote by Issue failed silently if source files were not in the default group of the source stream.
Operations in a StreamBrowser tab did not reflect stream-reparenting changes, even after a Refresh command. Note: a Refresh is required after a reparent operation, to ensure proper processing.
Solaris CLI only: Checking out a file in a link-based workspace left its status as (modified) (member) instead of (member) .
If the Require Manual Refresh preference was set, a Security tab ( Admin > Security ) did not display any data until a Refresh command was performed.
When the File Browser was in Include/Exclude mode, the File > Open and File > Save commands were disabled when a file was selected.
Version 4.0 resolves the following issues:
The command diff -a -v <stream1> -V <stream2> sometimes failed to show the differences between the two specified streams.
When upgrading an AccuRev installation, the installer did not verify that it could replace all files -- for example, making sure no file to be replaced was currently busy.
The Update command used to behave poorly when run in a directory that contained an external element with the same pathname as an element under Accurev's control. Now an appropriate error message is displayed.
CLI commands did not check their argument lists to determine if elements were specified multiple times.
The CLI revert command did not properly handle the reverting of a purge transaction on an element in a dynamic stream, if that element had never been promoted to that stream's parent.
In the dialog box displayed by the transaction-based or change-package based integration between AccuRev and AccuWork, clicking Cancel incorrectly caused AccuRev to proceed as if "0" has been entered, instead of canceling the Promote command.
The Diff Against Backed command did not work properly if the backing stream was a time-based stream and a new version had been promoted to the backing stream after the basis time.
The Populate and Update commands did not handle existing file and directory permissions correctly.
AccuRev parsed the parameters file incorrectly for a pre-create-trig or pre-keep-trig trigger. This caused an error to occur if a filename included a SPACE character.
The command co -v <old-version> did not work correctly if the old version to be checked out had a different pathname from the current version.
In Visual Studio or another MS-SCC application, enabling or disabling the AccuRev integration sometimes caused the application to crash.
A memory leak in the GUI Merge tool caused progressively slower performance when merging multiple files.
The command add -x <filename-wildcard> worked incorrectly if the wildcard did not match any external files: it added all of the workspace's external files to the depot.
The Merge command failed to abort if the file in the workspace was read-only. It incorrectly created a new version and drew a merge line to it.
A workspace became inaccessible if its name was changed and then its backing stream was changed, without an intervening Update .
When an AccuRev integration (for example, with Eclipse) was requested to promote a group of elements, it failed to abort if one or more of the elements had (overlap) status.
When submitted to the accurev xml command, XML-format files encoded as UTF-8 or Unicode caused the AccuRev Server to crash. Such files now simply cause a command error.
The command merge -s <root-stream> caused the AccuRev Server to crash. (This command does not make sense, since a depot's root stream does not have a parent.)
Defunct elements promoted to the depot's root stream were incorrectly appearing in a File Browser display of the root stream.
Storing and retrieving of file attachments and URL attachments to AccuWork issue records did not work correctly on Unix/Linux platforms.
AccuRev did not update the include rule for a file (for example incl \.\mydir\myfile.java ) if a subsequent Update caused that file's pathname to change. This in turn caused a recursive Populate command to complain spuriously about that file.
A promote-by-change-package operation ( Promote command on an issue displayed in a Stream Issues tab) failed incorrectly if one of the elements in the change package already had a descendant version in the destination stream. The Promote command now silently skips over such "underlap"-status elements.
A defunct element in the destination stream of a mergelist command was incorrectly listed by the command as having (backed) status in the destination stream.
The AccuRev GUI would hang when started from the command line, unless the current working directory was the AccuRev bin directory.
When invoking the Merge command from the Change Palette, a hang or error would occur if the element was excluded from the workspace chosen for the merge operation.
If both a file and its parent directory had namespace-level changes to be promoted, the Promote command failed with a "no path to element" error.
A promote-by-change-package operation ( Promote command on an issue displayed in a Stream Issues tab) failed if one of the elements in the change package had (defunct) status.
An Update of a reference tree failed with CRC-mismatch errors after combinations of Populate commands in the reference tree and Revert to Backed commands in the corresponding stream.
There was various confusion and incorrect processing with group names longer than 29 characters.
After performing a Deep Overlap search, selecting a stream's overlapped version, and executing the Merge command, the overlapped version incorrectly disappeared. (The stream's overlap is not resolved until the merged version is promoted from the workspace to that stream.)
After multiple elements were excluded from a workspace or stream in a single operation, all but one of the elements remained visible after switching out of Include/Exclude mode.
The mergelist command incorrectly included stranded elements and defunct elements in its results.
In the results of a Deep Overlap search, the entry for a dynamic stream sometimes included the status indicator (modified) . This indicator doesn't apply to versions in dynamic streams.
The sample pre-create-trig script, elem_type.pl , did not take into account the -E (element type) option to the add command.
After reparenting a workspace from a snapshot to a dynamic stream, versions could not be promoted from the workspace unless the workspace was updated first. (It's a best practice to update a workspace whenever it's reparented.)
There was syntactical confusion on how to specify a destination change package (AccuWork issue record) in a CLI promote command. The -I <issue-number> option provides this capability.
A console message was incorrectly included in the XML-format file output by the CLI command update -fix .
The AccuRev Server's XML parser did not properly handle empty XML elements that were coded with a single tag. Example: < comment/>
Running Add to Depot on a file whose timestamp was in the future could silently fail, or could hang the AccuRev GUI.
With the change-package-based integration between AccuRev and AccuWork enabled, the AccuRev GUI would hang attempting to promote elements from a workspace whose workspace tree was not accessible from the client machine.
The routine that automatically determines a file's element type incorrectly flagged a Ctrl-L character (form-feed, hex 0C) as indicating a binary file.
Inheritance of include/exclude rules was not being correctly blocked by a child stream's time basis.
The display of a transaction's versions by the Show History command correctly included data in the Issues column, but the display of the same transaction's versions by the Show Active Transactions command showed nothing in the Issues column.
If you purged a version from a dynamic stream ( Revert to Backed command), then promoted the remaining versions in that stream's default group, a subsequent stream history would omit the purge transaction.
In the Confirm Exit dialog box displayed by the File > Exit command, pressing ESC caused the exit operation to proceed instead of cancelling it.
The documentation for the remove command incorrectly stated that an object processed by this command is no longer accessible. The remove command simply hides objects.
The sample server_admin_trig.pl script in the examples directory did not document the fact that the trigger fires for the rmws command as well as the synonymous remove wspace .
The Merge tool sometimes displayed the left-margin arrow indicators (showing which contributor provided the highlighted blocks of lines) out of sync with the blocks themselves.
User-specified command lines for Diff and Merge tools in the Preferences dialog box were not preserved.
The parameters files generated for triggers that fire on a Promote command (invoked on a set of elements or a set of issues) did not contain information as to which issue records were associated with the promotion.
An error occurred when the user's workspace was not in the same depot as the workspaces or streams involved in a diff -v -V command (or other similar forms of the diff command).
In a multi-platform environment, the status of files that were just processed with Add to Depot and Promote was not consistent between Unix/Linux clients and Windows clients.
When interrupted by the user during specification of an issue record, the promote -K command still performed the keep command before aborting.
When an attempt to promote a version was made from the Change Palette, a later version of that element was sometimes promoted, even if the Use Latest checkbox was cleared. (This checkbox appears in Show Details mode.)
The lock and unlock reference pages incorrectly stated that the -kf and -kt options could be used in combination.
In a nonempty directory tree that was newly designated as an AccuRev workspace, the Update command was overwriting files corresponding to elements. Such files are now flagged with the message, "These external files in your workspace have the same pathname ...".
In the dialog box displayed by the transaction-based integration between AccuRev and AccuWork, clicking Cancel instead of selecting an issue record and clicking Ok caused the AccuRev GUI to hang.
The sample server_preop_trig and server_admin_trig scripts in the examples directory did not handle SPACE characters in group names.
During a "custom" AccuRev installation, the wrong version of the SCC Integration was placed in the AccuRev bin directory.
If there were multiple defunct elements with the same pathname, the Update command mistakenly retrieved a non-defunct version of one of the elements from a higher-level stream.
The replica sync command failed to properly update a replica repository's database files if one or more of them was busy (the AccuRev Server was performing another operation).