Conflict Detection & Merging

Flosum supports complete conflict detection and merging of components that are supported by the Salesforce platform. Salesforce developers typically have to spend too much of their time working with peers and admins in searching for potential conflicts to ensure that no code is overwritten while merging the changes between two developers.

Other version control systems, such as Git, were built before the Salesforce platform. They don’t understand all the component types of the Salesforce platform. For example, Git has trouble merging conflicts for lightning components and static resources because they are bundles that consist of many other component types. Git also has issues with comparing XML-based components such as custom objects, profiles, etc. Rather than doing an XML-based comparison, Git compares all the files manually on a line-by-line basis.

The rest of this article shows you how Flosum compares the nodes of an XML object rather than a tedious line-by-line comparison.

The following screenshot shows various components customized for a specific feature (or a user story).

Because most of the XML components are very long, it can be painful for developers to scroll through the entire component to find any conflicts. In Flosum, you can select the Show the reduced XML tree check box (as shown in the screenshot below) to show just those lines that are in conflict.

The following screenshot shows an example of resolving conflicts between two change sets. On the left, you can see changes made by Developer 1. On the right, you can see changes made by another developer. In this example, Developer 1 has added Field1 and Field3. On the right side, the other developer has added another field, Number.

This example shows the merging of the changes from the left side to the right side. You can see that the Description, Field1, and Field3 changes are copied from the left to the right.

In the next article, we’ll describe how Flosum helps with merging lightning components.