This topic explains how to connect C/C++test to your source control repository.

Sections include:

About C/C++test’s Source Control Support

Any source control system that plugs into your C/C++test environment can be used to manage your source and test files.

If your team is using a one of the specified supported source control system listed below and performs necessary configuration as described later in this topic, C/C++test can:

C/C++test ships with support for the following source control systems:

BrandTested version
Git1.7, 1.8, 1.9, 2.x
Microsoft Team Foundation Server

2010, 2012, 2015, 2017, 2018, 2019

Perforce 2006.2, 2015
Subversion (SVN)1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13

You can use the source control API to integrate with other source control systems. See Adding a Custom Source Control Integration for details.

Some source controls (for example, Perforce) require users to mark (lock) sources before editing them. If you are using one of these source control systems and you prompt C/C++test to perform an operation that involves editing a "read-only" file in source control, it will first open a dialog asking you whether you want to make the file writable and lock it. Click OK, then provide your source control username and password in the next dialog that opens; this allows it to access the source control system and set the lock.

Enabling Source Control Support

To enable support for any of the supported source control systems:

  1. Make sure that the command line client for the given source control is on the system%PATH%/$PATH and is available when C/C++test is launched.

  2. Choose Parasoft> Preferences to open the Preferences page.
  3. Select Parasoft> Scope and Authorship in the left pane of the Preferences page.
  4. Enable the Use source control (modification author) to compute scope option.
  5. Select Parasoft> Source Controls in the left pane of the Preferences page.
  6. If the appropriate repositories ARE already set (from the auto-configuration process described in C++test Configuration Overview), enter your user and password, and specify the path to your source control client executable (if it is not already on your system path).
    If the appropriate repositories ARE NOT already set (refer to the auto-configuration process described in C++test Configuration Overview), specify them as follows: 
    1. Enable the source control system you want to use
    2. Specify the path to the SCM client executable. You do not need to specify the executable path if it is already on your system path.
    3. Click New in Repository properties field and enter the source control properties required for the selected type of source control system.  
    4. Click OK to close the Source Control Description dialog.
  7. Apply your changes and click OK.

To test the integration:

  1. In the C/C++test environment,  open a project that is checked out from the repository.
  2. Open a file in the editor.
  3. Right-click the source code, and choose Parasoft> Show Author at Line. If the correct author is shown, the integration was successful.

Git Configuration

The Git repository you connect to must allow anonymous pulls.

  1. Open a command prompt and clone your repository:
    git clone <repository>
  2. If cloning from a git URL, then the git push  URL must also be configured to automatically push test cases checked in with Git.
    git config remote.origin.pushurl [email protected]<your repository URL> 
  3. Set git config  on the newly created repository user.name
    git config user.name "<your username>"
    This step can be skipped if a global git user.name is already set. The user.name must match the user's DTP user name.

When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:

If you are going to report authorship information from Git to DTP, the cloned repository should not be shallow. A Git repository is considered shallow if the file .git/shallow exists. Git may not accurately produce authorship data when checking out shallow clones from a repository. You should check out full clones to retrieve accurate authorship information.

Perforce Configuration

When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:

Subversion Configuration

Parasoft’s Subversion support is based on the command line client 'svn'. To use Subversion with C/C++test, ensure that:

When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:

Team Foundation Server Configuration

When you are enabling source control support, specify the following repository properties in the Create Source Control Description dialog:

By default, C/C++test uses the cached credentials for accessing TFS (this could be your user login or some previously logged in information). You can provide custom credentials if you want to use them instead of the cached ones.

Specifying Source Control Definitions via localsettings

Source control definitions can be specified in localsettings (e.g. for sharing team-wide settings via  DTP or specifying options at the command line). See Configuring Localsettings for details.