I was wondering if there are any recommendations regarding use of .json file within version control systems? Are any merging strategies better than the others?
Almost every time when I am merging two branches, and each of these branches includes new elements (pages or widgets) in the WebUI I am getting merge conflicts. And manual solution of these conflicts could be somewhat of a surgical operation...
Last week I had quite an extreme example of that. Both developers were adding new download and upload widgets, each on his/her respective page. When the file was merged (before conflict resolution), the lines that were identical in both files (e.g. declaring widget type, action type, opening and closing brackets) appear only once in the merged version, while lines with widget names and contents were appearing after each other. We have managed to solve it by comparing both version pre-merge and replicating some of the lines. But this is of course quite error-prone and time-consuming.
Best answer by Mischa
We at the AIMMS WebUI team are aware of this problem. That is why we made some improvements in our upcoming AIMMS 4.70.1 release: in that version, the widget and page entries in the webui.json file will always be sorted before being written to the file, which lowers the chance of merge conflicts.