Conflict Resolver is a component that helps to resolve merge conflicts that arise when several users edit the same parameters in an entity. A merge conflict is an event that occurs when the system is unable to resolve differences in code between two commits automatically. When all changes to the code are made in different entity parameters, the system successfully merges commits automatically without any help. However, when there are changes in the entities and in the same properties, a merge conflict occurs because the system doesn’t know which changes to keep and which to discard.
The user may encounter a conflict when working with any of the entities. For example, Flows, Structures, Assets, or Connectors.
The conflict occurs during the merge and the user can see this conflict. If a conflict occurs, the user cannot deploy the project; the deploy button will be red and unavailable.
The bottom panel contains a Conflicts panel. If there are conflicts in the project, the user will see the precise number of conflicts. To open the Conflict panel, the user needs to click on this tab.
The tab with conflicts is divided into two sections, namely, all conflicts, where information about all conflicts in the project is presented, and conflicts in the currently open tab, where information about them is presented. To collapse a panel, the user needs to click on the icon located at the top right of the panel.
The top panel of the entity builder contains tabs with conflicting project versions.
The user can switch between versions and view the contents of each. All conflicts are highlighted in the merged tab. The user can also make changes to it.
To resolve the conflict, the user is presented with three options.
MARK AS RESOLVED. The user can make changes to the Merged version and click on the MARK AS RESOLVED button. After that, the conflict will be resolved in accordance with the changes that the user has made.
USE REMOTE. The user can resolve the conflict according to the remote version. Click on the USE REMOTE button, all conflicts will be resolved in the same way as it was in the target commit.
USE BEFORE MERGE. The user can resolve the conflict according to their version before the merge. Click on the USE BEFORE MERGE button, all conflicts will be resolved in the same way as it was in the local commit.