Use case: 2 people started enhancing the same project file, and after finishing the work they want to blend them together, fully or partially.
IJ's project files are not so easy to merge - I will explain why.
Properties of the objects and their values, while visually associated on the builder's screen, in the project file appear spread across the file, here and there (well, I know, it's not XML).
We need a built-in (or additional) tool that can compare 2 projects, and tell about differences in all the aspects of the project file:
- action groups
- conditions on the above
- setup types
- general information
Changes can be: added/deleted/modified
The best solution will be showing the list of changes between 1st and 2nd project files, and allow selective applying of them.
Easier solution - just show the differences, and the merging person will then copy-paste or delete corresponding object manually, and then re-run comparison once more to ensure the correctness of the manual action.
Though, I see 2 problems in such a manual operation:
1) there exist non-copyable items - e.g. conditions
2) copying an object from one project to another will create it with ID that differs from the original, so consecutive comparison will not match the applied change with the one from which it was copied.