In Mendix there is a way to create merge conflicts that are completely unnecessary:
1. From the Main line create a branch line
2. Develop on the Main line and on the branch line
3. Merge from Main line to branch line to stay up to date (good practice!)
4. Merge the complete branch line (all revisions) back to Main line.
At this point, in my experience, conflicts always appear, unnecessarily. This is because all revisions are merged back to the Main line, including the revisions that are merges from the Main line. I have learned that revisions should be skipped, but many developers don't know that and they just go on by fixing the conflicts. This costs time and can cause errors (and it's frustrating). SVN has a standard solution: the --reintegrate option: all revisions that constitute a merge will be skipped.
My suggestion is to add the possibility to offer this feature in Mendix, in the Merge dialog.
It seems logical to incorporate this in the existing option Merge feature branch that's available when working on the Main line, but then it should be available on any branch.
As a side note, I think you could also remove the option Port fix, as it seems superfluous (or at least to me it's unclear what it does).
Two more ideas for reduction of merge-costs:
- Reduce the status of the change 'Moved'. Just ignore it. It is never worth a merge conflict.
- Also implement https://forum.mendix.com/link/ideas/705. Far less merge-conflicts concerning a page-element's name.