Online Conflict Resolution

Updated 2 months ago by Copado Solutions

Copado's Online Conflict Resolution feature allows you to manually resolve file conflicts during the user story promotion process. While merging user story's feature branches into a promotion branch, Copado can encounter file conflicts and will auto-resolve them as explained in the article Conflict Resolution with Git Integration.

If the Online Conflict Resolution feature is active, and the metadata type of the conflicted files has been selected in the Exclude from Auto Resolve field (e.g. ApexClass, ApexComponent, ApexPage, ApexTrigger and Layout), Copado stops the merging process and uploads the conflicted files as attachments in the Promotion record. A Resolve Merge Conflict button will appear in the promotion layout. This button opens a page with a list of files with conflicts that you can manually resolve using a file editor included in the page.

The Online Conflict Resolution feature can be activated in two different ways: 

  1. In a pipeline:
    1. Edit the Pipeline record.
    2. Select the metadata types that will be manually resolved in the Exclude From Auto Resolve picklist field:
      1. The Promotion object also has a picklist field called Exclude From Auto Resolve.
      2. All the new promotions linked to this pipeline will have the same selected metadata types by default in the Exclude From Auto Resolve picklist field.
  2. In a specific promotion:
    1. While creating or editing a Promotion record, select the metadata types in the Exclude From Auto Resolve picklist field:
      1. It does not matter if the pipeline linked to the promotion has different Exclude From Auto Resolve values. The values of this picklist field in the Promotion record have priority over the equivalent picklist field values in the related pipeline.
      2. If you would like to manually resolve conflicts for other metadata types, such as layouts or email templates, you can add these values to the Auto Resolve Exceptions global value set and then select them in the Exclude From Auto Resolve picklist field:

Copado's backend performs the following actions when a conflict is found in files of the selected metadata types:

  1. The user story's feature branch merge into the promotion branch is stopped.
  2. The conflicted files are attached to the Promotion record. 
  3. The promotion Status field changes to Merge Conflict.
  4. An email containing the list of conflicted files is sent to the user executing the promotion.
  5. The Review Merge Conflict button appears in the promotion layout:

The resolve conflicts page lists the conflicted files. You can choose to let Copado auto-resolve a specific file by clicking on Auto Resolve or resolve the conflict manually by clicking on the Resolve Manually:

To edit the text file, click on the file name or on Resolve Manually:  

The conflict resolution interface will display the conflicting lines. If you want to see the extended lines, click on the dots.

To resolve the conflicts simply click on the arrows. Once the conflict has been resolved, click on Save. A green check will be added next to the name of the attachment and the Resolve Manually option will be selected:

Once the files have been marked as resolved or auto resolved, click on Create Deployment. The page is then redirected to the promotion page to create a new promotion deployment that triggers the feature branch merge process:

If the user doesn’t have the right permissions to execute a deployment, the deployment won’t be created and a warning message will be displayed. In-house or external developers can resolve conflicts but are unable to deploy if the right license or permission has not been assigned to their user.

After clicking on Submit, the promotion deployment is created again and Copado will use the file version of the resolved file(s) when merging the user story's feature branch into the promotion branch. If files are flagged as auto-resolved, Copado will automatically resolve these files when performing the merge.

Once the promotion is completed, you can click on Review Merge Conflict to check the conflicts that were resolved during the promotion process.

How did we do?