Collaborator seamlessly integrates with the AccuRev software configuration management system. This section provides a general overview of integration preferences, ways to review files controlled by AccuRev, and so on.
Using the built-in Collaborator AccuRev integration, you can quickly upload various files to the Collaborator server to create a review directly from the desktop client of your choice. The types of files you can upload include:
- Local changes of AccuRev files.
- Pending changes in streams.
- Differences in transactions.
- Arbitrary AccuRev diffs.
AccuRev integration uses AccuRev client applications that are already installed on the client computer. That is, integration supports all protocols, authentication settings, proxies, and other configuration specifics.
To enable the integration via GUI Client and Command-Line Client, you need an AccuRev command line client (accurev.exe) that will communicate with the server. We support these versions:
In Eclipse Plug-in, the built-in AccuRev Plug-in for Eclipse allows to communicate with the AccuRev server. It does not require any separate AccuRev client to be installed.
Ways of Integration
You can enable the integration between Collaborator and AccuRev for GUI Client, Command-Line Client, or Eclipse.
To enable the integration:
Start GUI Client.
Click Add to create a new SCM configuration.
In the subsequent SCM Configuration dialog, specify the local source code location. Then, select AccuRev in the SCM drop-down list.
Several options will become available. These are specifically tailored to configure AccuRev integration.
Option Description AccuRev Depot A depot name of your AccuRev workspace.
Tip: Even if there is no existing AccuRev workspace on your machine, you can still review committed AccuRev Transactions. To do that, specify the host-name of the machine containing the workspace in this field.
AccuRev Executable A full path referring to the AccuRev command line client (accurev.exe). AccuRev History Algorithm A name of the algorithm you want to use to calculate the predecessor.
Once ready, click Validate to make sure the integration is operational.
After that, a new configuration for AccuRev will appear on the main screen of the GUI Client.
Select it, then click on the corresponding button depending on what you want to do next:
Add Changes – Upload modified files in a workspace to the Collaborator server.
Add Transactions – Upload the files in committed transactions.
Add AccuRev Diffs – Upload arbitrary diffs, or compare streams.
On the Streams tab, you can also upload the difference between two streams.
Commands recommended for AccuRev
ccollab addchanges - Attaches locally-modified files to a review.
ccollab addchangelist - Attaches an atomic changelist to a review.
ccollab addardiffs - Uploads diffs generated from
accurev diff command.
ccollab addstream - Attaches pending differences from an AccuRev stream.
The Command-Line Client can upload local changes to files controlled by AccuRev before they are promoted. This includes both the files that you store and files that you modify within your local AccuRev workspace. Other tasks that are covered with Command-Line Client AccuRev integration include:
- Uploading pending changes in a stream.
- Uploading differences in a transaction.
- Uploading arbitrary AccuRev diffs.
In most cases, the Command-Line Client can automatically detect your AccuRev configuration. Try testing your configuration to verify the configuration is detected correctly.
If the Command-Line Client is unable to detect your AccuRev configuration or you want to override the detected settings, you can manually specify AccuRev settings using global options.
To manually configure the Command-Line Client to use AccuRev, execute the following command:
ccollab set scm accurev
AccuRev depot name.
Full path to the "accurev" command-line client.
Which algorithm to use when calculating the predecessor, either predecessor, previous-occupant, or basis-version.
ccollab set accurev-depot MyDepot
Eclipse Plug-in has a built-in integration with the AccuRev Plug-in for Eclipse. With this, you can upload locally modified files to a review directly from the plug-in.
To learn more, please see Add to Review Wizard.
Support for Copy and Move
Collaborator fully supports the AccuRev file and directory copy and move semantics. That is, if a file is copied or moved rather than added from scratch, it will show up that way in the various user interfaces.
Support for Directory Level Actions
Collaborator partially supports the AccuRev concept of directories (not just files) being altered.
All files underneath the directories in question will be scanned, uploaded and represented properly in the GUI. The directories themselves will not be shown in any GUI, or even in the file list confirmation screen presented by the command-line client.
This all works correctly even if, for example, you move a parent directory and alter/add/delete a file within that directory in the same changelist. You will get the correct content for the file but the directory itself will not be listed in the review.
Support for Include and Exclude Rules
Collaborator treats files or folders that conform to include rules of AccuRev as added or modified files or folders. Files and folders that conform to exclude rules are treated as deletions. To mark the files and folders that fall under the effect of these rules, Collaborator uses the following descriptions of change types:
INCLUDED– The file was added because of include rule.
EXCLUDED– The file was removed because of exclude rule.
INCLUDED_DIR–The folder and all its files and sub-folders were added because of include rule.
INCLUDED_DIR_ONLY– The folder but not any of its files or sub-folders were added because of include rule.
EXCLUDED_DIR– The folder and all its files and sub-folders were removed because of exclude rule.
Technical Details and Limitations
Collaborator does not guarantee that Diff Viewer will display correct comparison results for the following cases:
If you add several diffs (non atomic changelists) to the same review.
ccollab addchanges (for AccuRev)
Source Control Integrations