Source Code Management (SCM) Support
The following are known issues with Code Insight SCM support.
SCA-52522: Credentials entered in Git URL not a best practice
GIT allows users to pass credentials within the repository URL if an HTTP (or HTTPS) URL is used. Consequently, when setting up SCM synchronization between Code Insight and Git (and Git SSH is not used), users can include credentials in the Git Repository URL(s) value. Note, however, that these credentials are displayed in the URL value when it is shown in other parts of the Code Insight.
Code Insight also provides the Git Username and Git Password fields in which to enter the credentials during synchronization setup. Credentials passed in these fields are not displayed in the URL value when it is shown in other locations in the product. Therefore, when Git SSH is not used, the best practice is to always use the Git Username and Git Password fields, not the Git Repository URL field, to pass the credentials.
Workaround: Use Git SSH or pass the user credentials through the user interface fields if an HTTP or HTTPS URL is used.
SCA-48045: scmInstances GET API not returning all URL details when any Git URL has multiple delimiters
Currently, if the scope for the scmInstance GET API includes at least one Git SCM instance with a repository URL that is defined with more than one delimiter (branch, tag, or commit ID), an error message similar to the following is returned. The message (with the status code 400) lists those Git URLs defined with multiple delimiters in the instance.
{
"errors": [
{
"param": "[scmType: GIT; instanceId: 0; URL: https://github.com/sbnl/
TestPublicRepo.git~~master>>commit123, scmType: GIT; instanceId: 0; URL: https://
github.com/test/newtest^^tag123~~branchname]",
"message": "Branch, Tag, Commit ID are mutually exclusive."
}
]
}
When this message is returned, details are not returned for repositories of the other URLs in the same Git SCM instance, nor are they returned for the repositories identified in the other SCM instances of any type in the project.
The missing details for the other URLs in the Git SCM instance as well as for the other SCM instances makes it difficult to obtain the information needed to update a given instance. (The request body for the PUT method requires the complete updated definition of the SCM instance.)
Workaround: When creating or updating a Git SCM instance, provide only one delimiter per URL in a Git SCM instance. Additionally, use the Code Insight UI to update SCM instance and retrieve their details.
SCA-47353: Unhelpful message when testing or synchronizing with invalid or missing credentials
When you attempt to test the connections for a specific SCM instance (or run a synchronization across all SCM instances in a project) and the connection credentials are invalid or missing for any instance, a message with an unhelpful error description is displayed.
Workaround: Refer to the core or catalina logs for an accurate description of the error.
SCA-46441: TFS repository failing to synchronize
The synchronization between a TFS codebase repository and a Code Insight project can fail even though the TFS instance connection is configured correctly (with a valid URL, user name, password, and other properties) in the project.
Workaround: On the Version Control Settings tab for the project, provide a personal access token (PAT) in the Password field instead of a password to enable successful synchronizations.
SCA-40067: SCM instance numbering systems used in REST API output and Web UI not in sync
The instance Ids shown in the GET SCM Instance API response are not in sync with SCM instance numbers generated in the Web UI.
Workaround: None exists
SCA-27751: Failure of Perforce SCM instance to synchronize Unicode files to Scan Server
Perforce SCM instances can fail to synchronize Unicode-formatted files to the Scan Server if the instance is running in Windows and configured for SSL.
Workaround: None exists.
SCA-27674: Synchronization with Team Foundation Server failing (Linux only)
Codebase synchronization with a Team Foundation Server (TFS) instance on Linux fails when character spaces or certain special characters exist in attributes used to set up the synchronization on the Version Control Settings tab for a project.
The following issue has been logged with TFS:
https://github.com/microsoft/team-explorer-everywhere/issues/321
Workaround: None exists.