This thread started about half a year ago, so maybe the original poster have figured out how the merge tool works in the meantime.
In my experience, the merge tool is good, but there are some quirks that are not obvious, especially when there are several files with differences.
There is no way to confirm acceptance of changes applied to each file individually.
The fact that closing the merge window [merge X], will save the content of righthand window for all files as edited so far, is good, but not obvious, and have been subject of questions in this forum before.
Not mentioned in the Microchipdeveloper description,
It is possible to edit manually in the righthand panel of the merge tool,
these edits will be saved, the same way as any block of updates selected for inclusion or removal.
Even with a good merge tool, having a lot of changes made to generated files, may be a source of confusion, and is a risk of making mistakes.
When there are a lot of changes made, I prefer to copy the file in questio into a different name and/or directory, and in MPLAB X Projects panel, select "Exclude file(s) from current configuration" / "Include file(s) in current configuration".
This work well for .c source files, like main.c and mymain.c
Any merge of updates must then be done manually, or by use of a diff tool.
Header files may be more confusing.
If there are header files with the same name in different directories, then the compiler do not know about MPLAB selections. C compiler preprocessor use it's own procedure and the search list when processing #include directives.
So if header files with the same name and different content exist, there is risk that different parts of a program will be compiled with different declarations. This will cause hard to understand warnings and error messages, or even harder to find errors when running the program.
post edited by Mysil - 2019/11/06 01:04:35