During the Copy Process

The following sections describe what operations you can perform during the Project Copy process and what information is copied during the process.

Monitoring the Copy Process
Actions Allowed During the Copy Process
Actions Blocked During the Copy Process
Information Copied to the Target Project
Handling of Errors During a Project Copy

Monitoring the Copy Process

Once the copy process starts, the new project is added to the list of projects in the Projects pane on the left, and the current progress of the copy is shown in the new project’s dashboard area (on the right). This progress is automatically refreshed every 60 seconds.

For information about what happens when the Project Copy process encounters an error or exception, see Handling of Errors During a Project Copy.

Actions Allowed During the Copy Process

During the Project Copy, you can do the following:

Instead of waiting 60 seconds for an automatic refresh of the copy progress, manually refresh the progress by clicking the Load Project Dashboard icon for the target project in the Projects pane.
Access the target project’s Summary tab by clicking the Open Project icon for the target project in the Projects pane. Note that this is the only tab in the project that you can access until the copy is complete.

Actions Blocked During the Copy Process

You blocked from doing the following during the Project Copy:

Performing an import or a full or incremental scan on the source project.
Deleting the source project.
Accessing the target project from the project’s dashboard.
Renaming any project from the right-click menu on the Projects pane.
Performing a Project Copy on another project, even if that project is associated with a scanner different from the one associated with the source/target project.

Information Copied to the Target Project

The following table describes the information that Project Copy copies (or does not copy) from the source project to the target project.

Information Copied to the Target Project During a Project Copy

Project Information

How Handled During Project Copy

Project settings

The following describes the project settings that are copied/not copied from the source project to create the target project. The following settings descriptions are organized by the tab labels used in the Edit Project window in the UI.

General

All settings on the General tab are copied to the target project. The project is created in the same folder (or in the root) as the source project.

Scan Settings

All scan settings on the Scan Settings tab are copied to the target project, including the selected codebase path for the scan.

Version Control Settings

All SCM instances defined for the source project on the Version Control Settings tab are automatically copied to the target project. Note that the copy process does not test the instance’s connection to the remote repository nor synchronize with the repository, as is done when SCM instances are actually created in a project.

Review and Remediation Settings

All automated and manual review options and remediations options (including the legal, security, and developer contact information) on the Review and Remediation Settings tab are copied to the target project.

ALM Settings

All Application Life Cycle (ALM) instances and their properties defined on the ALM Settings tab are copied to the target project.

Project Hierarchy

Only child-project definitions and links in the source project are copied to the target project. No parent project information is copied.

Custom Fields

Custom fields and their values in the source project are copied to the target project. A custom field with no value in the source project has no value in the target project.

Project users

The following describes how user information in the source project is handled in the target project:

Users assigned to the Project Administrator, Analyst, Reviewer, and Observer (for a private project) roles in the source project will be copied to the same roles in the target project.
The Project Contact in the source project is not copied to the target project. Instead, the person who initiated the Project Copy is designated as the Project Contact in target project.
Default project role assignments at the global level are not copied to the target project. Only the user assignments that currently exist for roles in the source project are copied (which might include default users from the global level if these defaults were never changed in the source project).

Project provenance

The Provenance field on the Summary tab in the target project is updated to show the hyperlinked name of the source project used in the Project Copy:

Copied from <sourceProjectName> (Id: <sourceProjectID>)

When you click the link, you navigate to the Summary tab of the source project. (If the source project has been deleted, a message is displayed, stating that the project no longer exists. Once clicked, the link for the deleted project is permanently disabled.)

Source code

Source code is copied from the source project to the target project as follows:

Whether uploaded or the result of using SCM synchronization, the physical source code in the source project’s scan path folder is copied to the scan path folder in the target project. That is, an exact copy of the source files in the source project will be present in the target project once the copy is complete.
If a source-code file in the source project contains symbolic links, the links are copied with the file to the target project.
The properties of a source code folder in the source project are preserved in the target project.
If a source-code folder in the source project contains shortcuts, the shortcuts are copied with the folder to the target project.
If a source-code folder is hidden in the source project’s scan path, the hidden folder is copied along with the folder’s other directories and subdirectories to the target project.

Files

The following file-system information resulting from the most recent scan (Scan Server or a remote scan agent or both) is copied from the source project to the target project:

Folders and files scanned by the Scan Server or remote scan-agents
Scan roots (for the Scan Server or remote scan agents)
The alias for a file system scanned by a remote scan agent
Metadata for physical files obtained through an upload or SCM synchronization
File-system hierarchy (so that file paths are maintained under the root, inside folders and sub-folders, and so on)

Scan history

The only scan history copied to the target project is information about the last successful server and/or remote scan on the source project. However, this information is accessible from only the Code Insight database, not the UI. Consequently, no details about the most recent scan (by the Scan Server and/or scan agents) are initially displayed in the Scan Status section of the Project Summary tab in the target project; and, when you click the link to show past server scans, the resulting Scan History window is empty. Note, however, that the details and history for subsequent scans on the target project will be stored in the database and be viewable from the Summary tab.

Note:Any subsequent scan run on the target project is considered a rescan (incremental or forced full).

Evidence

All evidence discovered in the source project’s files during the project’s most recent scan (by a Scan Server or a remote scan agent) is copied to the target project. This evidence includes licenses, copyrights, search terms, email addresses, URLs, and source-code matches. Note the following about the evidence copied to the target project:

Scanned files are visible in the Code Files pane in the Analysis Workbench.
Partial evidence in file content in the Analysis Workbench is highlighted as expected.
Audit and review information for files is copied.
File filters based on evidence will operate as expected during file searches.

Inventory and file association

All inventory items are copied, including each item’s name, description, ID, published status, review status, alerts, workflow URL and request details, and custom field values. This information is displayed on the target project’s Project Inventory tab and the Analysis Workbench. The following also takes place during the copy process:

The mappings of all inventory dependencies in the source project are maintained in the target project.
Information about the inventory owner is copied. (An inventory owner is the entity that discovered or identified the inventory item—such as Code Insight’s automated analyzer or detection-rule facility during a scan, or the user who created the custom inventory item.)
An inventory item’s file associations in the source project are copied to the target project. (This includes associations with remotely scanned files and folders.)
The Created and Updated dates for an inventory item in the target project are automatically updated to reflect the date of the Project Copy. The inventory’s published date is also updated with this date in the Code Insight database (but no corresponding field is provided in the UI).
The Provenance value for an inventory item in the target project is automatically updated to identify (and provide a link to) the item’s immediate predecessor, which, in this case, is the inventory item in the source project. (The linked Provenance value for an inventory item enables you to trace the origin of the item through its chain of predecessors.)

Note that the following inventory details are not handled by Project Copy:

The open and closed tasks assigned to an inventory item are not copied to the target project.
After the Project Copy, the Inventory History window for an inventory item in the target project will list the Project Copy event only. No history for the item from the source project is copied.

Handling of Errors During a Project Copy

The following sections describe how the Project Copy process handles errors.

Errors Resulting in Failure of the Entire Project Copy

If the Project Copy encounters any error while performing the following operations, the entire Project Copy process is stopped with a Failed status (as shown on the target project’s dashboard).

Initiation of the copy process
Copy of project settings
Copy of information about the last successful scan
Copy of physical source code

Errors Resulting in a Partial Copy

If the copy sub-operation for any of the following entities fails, the entire Project Copy process fails, but data is copied until the error occurs.

File data
Inventory
Inventory alerts
Inventory workflow
Inventory custom fields
Inventory file associations

Post-Failure Actions

When the Project Copy fails, the target project’s dashboard indicates which copy operation failed but does not display scan statistics as it normally would after a successful copy. You can still explore the project’s Summary tab, Project Inventory tab, and Analysis Workbench.

To attempt the Project Copy again, navigate to the target project’s Summary tab and delete the project. The source project remains available, enabling you to remediate the copy issue and run the Project Copy again.