Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


English

This is an

...

attempt to show how we can work on new features in its own app version or even on a different Joget

...

server by making use of GIT.

Beware that there are GIT commands used in this article, so, make sure that you are comfortable working around GIT.

This is so each feature development would be carried out without the influence of another feature being developed at the same time.

In this example, we have a "Meeting" app and the table below describes works to be carried out. 


App VersionDescription
1Modify request form.
2Add calendar menu to the app.


Image RemovedImage Added

Figure 1: Completed work on app version 1 and

Image Added

Figure 2: Completed work on app version 2

When all features are developed and tested in v1 and v2, we are now ready to merge them. To preserve the work already done, we will clone v2 into a new copy, v3. Then we will attempt to perform the merging in v3 itself.

As shown in figure 2 below, bring up the "App Configuration Management" screen, select version 2, and click on "New Version".

Figure 2Figure 3: Clone app version 2 into 3

Once the version is created, navigate to the newly created version ( i.e. wflow/app_arc/meeting/meeting_3 ) from your command line. We are going to merge v1 and v3 through GIT commands below.

Image Modified

Figure 34: Merge app version 1 and 3 using GIT

...

Once we have merged them, if there are any conflicts, we will need to resolve them. In the figure shown below, we can see that there are 4 conflicted files.

Image Modified

Figure 45: Resolving Conflicts 

In this case, we are making use of Visual Studio Code to inspecting the conflicted files and resolve them.

Image Modified

Figure 56: Resolving Conflicts using Visual Studio Code

...

Once all conflicts are resolved, we can then commit merge.

Image Modified

Figure 67: Commit Merge

Going back to the Joget screen, navigate to "App Configuration Management" > "Git Configuration", turn on "Auto Sync DB from GIT" as shown in the figure below.

Image Modified

Figure 78: Turn on Auto Sync DB from GIT

...

We can check the server log for sync completion. Once it is done, we can then inspect the app again to make sure that everything in v1 and v2 is merged properly in v3.

Image Modified

Figure 89: Verify changes from version 1 and 2 in-app version 3.

If verification / testing of app version 3 fails or not satisfactory, we can restart the whole process again. Delete version 3 from "App Configuration Management". Then, delete the "meeting_3" folder from "app_src/meeting" as well for good measures.

To summarize, these are the steps:-

  1. Clone v2 into a new copy, v3 using "App Configuration Management".
  2. Using CLI, navigate to app_src/meeting/meeting_3. Execute the following commands to merge works from v1 and v2 inside v3.

    Code Block
    languagebash
    linenumberstrue
    git remote add v1 ../meeting_1
    git fetch v1
    git merge v1/meeting_1 meeting_3 --allow-unrelated-histories

    Resolve conflicts and commit.

  3. Navigate to "App Configuration Management" > "Git Configuration", turn on "Auto Sync DB from GIT". Click anywhere to start sync and observe server log for completion.
  4. Verify changes made in version 3.