Merge Tool

Prev Next

The Merge tool is a three-stage process for combining one or more application branch into each other. Merging lets Creators select all or part of a branch’s configuration change, then bring (merge) the selected changes into the other branch.

The Promotions and Versions page is only available for versioned applications. Learn more in our Introduction to Application Versioning article.

Merge stages include:

  • Initiate: Select which branch to merge into (Target), and the branch to merge from (Source).

  • Resolve Conflicts: If there are conflicting configuration changes between the branches, then Creators use the Resolve Conflicts page to determine which changes to keep and which to discard.

  • Finalize: Define the merge type. Creators can choose to update the Target branch with changes or create a new branch containing the changes.

Learn how to merge in our How to: Merge a Branch article.

Initiate

The Merge Initiate page lets Creators confirm the type of merge. Merging pushes the current branch’s changes into the Target branch. If Creators click the Swap Order button, the Target branch is merged (pulled) into the current branch.

Merge settings for version control with source and target branch details displayed.

Resolve Conflicts

The Resolve Conflict page displays configuration changes between branches. Changes are organized by element and the type of change. If the change creates a conflict, Creators must review and confirm the changes in the Conflict Resolution modal. Creators must resolve all element conflicts before they can finalize the merge.

Resolving Conflicts

Version control application interface showing modified layout and added fields for review.

#

Setting

Description

1

App Updates Pane

Displays a list of elements contained in the branch. Elements display an icon next to them that indicates the following:

  • Green Circle with Checkmark (): Element does not require a review.

  • Orange Triangle with Exclamation (!): Element has a merge conflict that requires review.

2

Merge Source and Target

Displays the source and target branches. Changes merge from the Source branch to the Target Branch.

3

Conflicts List

Displays element changes from the Source branch compared to the Target branch.

This list is empty if no changes are present.

Name

The name of the modified element. Components are represented by their Property ID.

Type

The type of element that’s been modified. Elements can include layouts, module settings, components, and so on.

Status

The type of change between the source branch and the target branch.

Status types include:

  • Modified: This element contains changes that are different from the Target version.

  • Removed: This element will be removed from the application on merge.

  • Added: This element will be added to the application on merge.

Reviewed

The current review status. Review statuses include:

  • Triangle with Exclamation (!): This element has conflicts. Click the Details button to review.

  • Green Circle with Checkmark (): The element’s conflicts have been reviewed and resolved.

  • Green Circle with Checkmark () and Auto Text: The element has no existing conflicts between the Source and Target branches.

Creators must resolve all element conflicts before they can finalize the merge.

Details Button

Click the Details button to review and/or adjust changes between the source and target branches.

Learn more about the details modal in the Element Details Modal section below.

Element Details Modal

The Element Details modal displays an element’s changes between the Source and Target branches.

Conflict resolution options for last names in a data management interface.

The Element Details Modal list contains the following:

Setting

Description

Property

The element property that’s been modified. Element properties can be any of the following:

  • Components: Property IDs and settings.

  • Layout Changes: Visual adjustments in Columns, Field Groups, and Panel components.

  • Module Settings: Title, name, type, settings, and so on.

Diff Type

The type of change. Types include:

  • Modified: This element contains changes that are different from the Target version.

  • Removed: This element will be removed from the application on merge.

  • Added: This element will be added to the application on merge.

Source

The Source branch’s value for the change. This is typically the new value that will replace the Target branch’s value.

Actions

If there is a conflict, Creators must decide to keep the Source or Target branch value.

Optionally, if an element has multiple changes to a code source, like JSON, Creators can select the Advanced option to dictate which lines of code should be included from the Source or Target module.

Target

The Target branch’s value. Typically, this value is the old value that is replaced by the Source branch’s value.

Advanced Mode

Opens the Advanced Mode tool. Displays the element’s change in a code box. If the element has multiple, complex changes, like changes to a module’s JSON definition, clicking this option presents the Source and Target code values. Creators can select lines of code from either the Source or Target fields.

Learn more about advanced mode in the Advanced Mode Tool section below.

Advanced Mode Tool

The Advanced Mode tool provides a three-way conflict merge tool for selecting individual lines of code from an element’s Source and Target branches. When Creators open the Advanced Mode modal, all changes from the Source column are reflected in the Output column. If a Source value is unwanted, Creators can choose to retain a value from the Target column.

Below is an example of how the Advanced Mode tool might look:

Comparison of source, output, and target code in a version-control application interface.

Setting

Description

1

Source Column

The Source column displays code from the current branch or source element. Because source elements are merging into the target, code from this branch is reflected in the Output column.

Lines not included in the merge are highlighted in blue.

Source Merge All »

Click to merge all Source changes into the Output column.

2

→ Merge Source Line(s) Button

If a Source line is excluded from the Output, Creators can remerge the line(s) by clicking the arrow next to the highlighted line(s).

3

Output Column

The Output column displays the final merge values. The Output column uses two highlight colors to represent changes in the code:

  • Orange Highlight: Contains changes implemented from the Source column in an orange highlight.

  • Blue Highlight: Contains changes implemented from the Target column.

Errors

Displays the total number of errors in the code. Use the or buttons to navigate between errors.

Diffs

Displays the total number of changes (differences) in the code. Use the or buttons to navigate between diffs.

Warnings

Displays the total number of warnings in the code.

4

Target Column

The Target column displays code from the Target branch or element. When initiating a merge, the Target column code is replaced by the Source column code in the Output column.

Lines not replaced in the merge are highlighted in orange.

Target « Merge All

Click to merge all Target values into the Output column. This is the same as undoing the merge for the element.

5

← Merge Target Line(s) Button

Click to unmerge a Source column change from the Output column. This process is the same as undoing changes from the current branch.

Finalize

The merge Finalize page confirms the merge process and provides additional settings for finalizing the merge.

Merge settings for version control application, showing source and target branches details.

Setting

Description

Merge Type

Choose from one of two resolution options:

  • Update Target: Merges the Source branch into the Target branch.

  • Save as New Branch: Creates a copy of the Target branch, then merges into it.

Delete Branch After Merge

Check this box to delete the source branch after completing the merge.

Deleting the source branch cannot be reversed.

Learn about conflicts and when to merge in our Introduction to Merging article.