Skip to main content

Developing an Application

 

OutSystems

Automatically Merge Module Versions

When you have two different versions of the same module, and you want to use code from both of them, you need to combine the two versions into a third one. This is called merging module versions.

In OutSystems, merge happens automatically when you publish a module. This is, because when you start working on a module, your development environment creates a local copy of the current version. While you are developing, you make the changes to that local copy. When you publish, your new code gets merged with changes that others published since you started working. This is automatic if there are no conflicts. Learn more about resolving conflicts.

Note that a merge is always done to your local copy. If you want, you can publish it afterwards.

The image above illustrates a situation for an automatic merge:

  1. The other developer opens version 4 of the module in his development environment. He starts developing;

  2. You open version 4 of the module in your development environment. You start developing;

  3. The other developer publishes his changes;

  4. You publish your changes:

    1. The platform determines that there are changes to be merged, based on the version from where both started developing (V4);

    2. The Modified Version Detected window is displayed and you choose Merge and Publish;

    3. The platform automatically merges and publishes all the work for you.

Example

You and a colleague, Matt Jones, are working on a Contacts application.

The application contains:

  • One entity for contacts;

  • A screen to list contacts and another with contact details;

  • One entity for companies.

Matt's job is to work on the usability of the contact screen. You have to add a screen to list companies, and another for company details. By the end of the day, you want to publish a version that combines the changes you both do to your local copies.

To do so, follow these steps:

  1. You both open the module locally, and start working;

  2. Matt publishes his usability changes first. As no other changes were published to the module since he started working, he can simply publish his changes without any additional step;

  3. When you publish your changes, the ‘Modified version detected’ window is displayed. This is, because you started working on an older version than the one that is current on the server.

You click on the ‘Merge and Publish’ button, and the platform automatically merges and publishes all the work.
Since you have been working on different elements of the module, there are no conflicts to handle. Learn how to resolve conflicts.

  • Was this article helpful?