This section describes CodeCollaborator integration with SourceGear Vault.
CodeCollaborator supports SourceGear Professional and Standard Editions, and the earlier incarnations of Vault and Fortress. The integration is provided through SourceGear's Vault client API, which is packaged for CodeCollaborator and available on our website for downloading. Choose from the following links for the to download the SourceGear client API for your Vault product:
SourceGear API for Vault 5.1 Professional Edition
SourceGear API for Vault 5.1 Standard Edition
SourceGear API for Vault 5.0 Standard Edition
SourceGear API for Fortress 2.0
SourceGear API for Vault 4.1
After downloading, the file must be renamed and copied under the installation directory as:
where xxxx is the 4-digit build number of the CodeCollaborator release.
Reinstalling the CodeCollaborator client will delete this directory, so you might want to temporarily move the vault_client_api.jar file to another directory before reinstallation.
Other Supported Versions
Generally, there are compatible releases of the SourceGear API for all Vault versions and we should be able to support your specific version. If there is no link above corresponding to your version of Vault, please contact us at firstname.lastname@example.org and we will make it available.
Windows Installation Notes
Installing under Windows may require a temporary workaround for the SourceGear Vault client API. If your system uses a workgroup instead of a domain, the USERDNSDOMAIN environment will not be set to a value. This variable is required for the Vault client API to understand the correct username of the client. You can determine the value of USERDNSDOMAIN by typing set at a command prompt and looking through the environment variables. If the variable is not set, it *must* be defined before running the Command Line Client, or items in Vault's pending change set will not be found. The variable must be set to the name of the local workgroup, typically mshome or workgroup. You can find the workgroup name of the system on the General tab of the System Properties dialog.
There are two ways to set this environment variable for the Command Line Client. Create or edit the ccollab.vmoptions file in the Command Line Client installation directory, and include the line (with your workgroup name substituted):
Note: the last line of this file *must* be followed by a line feed.
Another way to define this variable is in the User environment variable space. On the Advanced tab of System Properties, select the Environment Variables button and create a User variable named USERDNSDOMAIN with a value of the local workgroup name.
The GUI Client integrates with SourceGear Vault. It can find and upload Vault pending change set items, or already committed Vault source files.
The Command Line Client integrates with SourceGear Vault. It can find and upload Vault pending change set items, or already committed Vault source files.
Configuring a Vault Server SSL Connection
If a certificate is required for connecting to your Vault server, the certificate must be made known to your Java JRE. Refer to the SourceGear article describing how to import the certificate into your Java keystore:
Both the SourceGear GUI client and the SourceGear API used by CodeCollaborator cache information about client source files. In some circumstances the locations of the two caches differ, and this can cause issues in the CodeCollaborator client with not finding checked out files, or finding too many checked out files. In this case, it is necessary to change the cache location used by the SourceGear API by modifying the cache location value in the SourceGear settings.xml file. First, find the cache location used by the GUI client in the registry. It is stored under the CacheLocation key in HKEY_CURRENT_USER\Software\SourceGear\Vault\Client\Settings. Then find the settings.xml file located in the SourceGear\Client subdirectory under the local settings directory given by the APPDATA or LOCALAPPDATA environment variable. The <CacheLocation> XML tag value in settings.xml should be modified to match the value used by the GUI client. If using the CodeCollaborator GUI client, restart it after making this change.
For investigating other issues, debugging logs from the CodeCollaborator client may be necessary. And enabling debugging in the CodeCollaborator clients when Vault is used will create a ccollab_vault.log file, which contains trace logging from the SourceGear API. This log file is found in the current directory for the Command Line Client or the installation directory for the GUI Client. When submitting a CodeCollaborator client debugging log to technical support for a Vault issue, please also include this file.
Getting an "OutOfMemoryError: Java heap space" Error?
The SourceGear Vault API, like the SourceGear Vault client, utilizes local repository caching to reduce traffic to the server. When connecting to large Vault repositories with the CodeCollaborator clients, the memory requirements can exceed the default Java heap space available. Refer to the Java heap size section of the manual for increasing the allocation. Increasing the available heap to 256MB of heap is a good starting point.