Skip to main content
OutSystems

How to merge changes with and without conflicts

Question

How can several developers coordinate changes to the same application? How can they merge their changes?

Answer

OutSystems Platform automatically merges changes to different elements of the same module.

OutSystems Platform helps developers when several developers change the same element in a module. The detailed Compare and Merge window highlights conflicting changes. Developers can select which version to keep.

For the best results, have different developers work on different elements of the application.

In the example below, Matt and John work on a Contacts application. The application has:

  • Two entities for contacts and companies;
  • Two screens for contacts and contact details.

Matt and John open the module locally in their development environment, and do the following:

  • Matt improves the usability of the contact screens, publishes his changes, and receives no warnings;
  • John adds screens to list companies and for company details.

When John tries to publish his changes, he receives the Modified Version Detected warning. He learns that Matt has published a version before him.

John clicks on Merge and Publish button. Because John and Matt worked on different elements, OutSystems Platform automatically merges and publishes the changes.

Suppose, however, that Matt and John had both been working on the contacts screen. Clicking on Merge and Publish would bring the Compare and Merge window below.

  • The right half has the changes published by Matt;
  • The left half has the changes that John was trying to publish;
  • Checkboxes indicate select which version to publish, either left, right, or none.
  • Changes highlighted in light blue are not in conflict. Their checkboxes are automatically selected.
  • Changes highlighted in red conflict with the published version. John must resolve the conflict and select which version to publish.

John double-clicks on the Contact_List screen to look into it.

Using the next difference button, John browses through all differences on the screen.

John realizes that Matt has changed the contacts list screen a lot. John decides to redo his changes on top of Matt's changes. John navigates back to the module elements, selects the checkbox for Matt's Contacts, and clicks Merge.

John can now redo his work on top of Matt's changes. When John publishes the module again, OutSystems Platform accepts the changes, because he already has Matt's version of the module.