Applying edits to all versions of a project

You can select whether edits to a component apply to a specific version of a project or if edits are persistent – they apply to all versions of a project. If you select to make edits persistent then edits apply to all existing versions of a project, excluding archived versions of projects and manually added components, and will also be carried forward as additional scans are completed at the same code or Docker image.

For example, if you edit a matched component to a different component, then all other versions of the project that have that same matched component will have the match adjusted and all versions going forward will also have this match adjusted.

Note: There are instances when edits may not propagate to all versions. See Persistent edit examples below.

Persistent edits are enabled by default when you create a project.

CAUTION: Please exercise caution when changing this option in order to avoid the Persistent edit examples below. Projects created prior to release 3.1.0 will have this feature disabled by default. See the examples described below as those results will apply If you enable this feature to those projects.

When you edit a component (using the BOM or Files page), a Information icon appears in the table row to indicate that a manual adjustment was made to this component:


BOM page showing an adjustment
Note: A Information icon appears on the BOM page for any edits that you make to a BOM.

There is also the option of cloning project versions which enables you to baseline a project version.

Persistent edit examples

Edits may appear to work differently than expected depending on the status of persistent edits and when the edits are made.

In the examples below, a project has several versions, none of which are archived.

Example Final Result
  1. Persistent edits are enabled.

  2. An edit is made to an item in a component in one version of the project.

    For example, the license for Component A is changed in Version 1 of the project.

    The edit is propagated to all versions of the project.

  3. Persistent edits are then disabled.

  4. An edit is made to the same item in Component A in a version of the project.

    For example, the license for Component A is changed in Version 1 (or Version 2) of the project.

Although persistent edits are disabled, the edit is propagated to all versions of the project as the original edit was made when persistent edits were enabled.

  1. Persistent edits are disabled.

  2. An edit is made to an item in a component in one version of the project.

    For example, the license for Component A is changed in Version 1 of the project.

    The edit appears in only Version 1 of the project.

  3. Persistent edits are then enabled.

  4. An edit is made to the same item in the same component in the same version.

    For example, the license for Component A is changed again in Version 1 of the project.

The edit is applied to only that version of the project (Version 1 in our example). The edit does not propagate to other versions of the project as the original edit was made when persistent edits were disabled.

  1. Persistent edits are disabled.

  2. An adjustment is made to an item in a component in one version of the project.

    For example, the license for Component A is changed in Version 1 of the project.

    The edit appears in only Version 1 of the project.

  3. Persistent edits are then enabled.

  4. An adjustment is made to the same item in a component in a different version of the project.

    For example, the license for Component A is changed in Version 2 of the project.

The edit is propagated to all versions except Version 1.

Enabling or disabling persistent edits for a project

  1. Log in to Black Duck.

  2. Select the project name using the Watching or My Projects dashboard. The Project Name page appears.

  3. Select the Settings tab.


    Project page Settings tab
  4. Do one of the following in the Component Adjustments area of the Project Details section:
    • Select Always maintain component adjustments to all versions of this project to enable persistent edits.

    • Clear Always maintain component adjustments to all versions of this project to disable persistent edits.

  5. Click Save.