Community
Participate
Working Groups
Use attachment 254412 [details] Check-out branch "third0". Right-click on "model" (which has no reference to model 3 in any branch) Compare it with branch "third1". I would expect the comparison to indicate that there's no change whatsoever. Currently, the synchronize view opens and displays the new remote files model3.di, .notation and .uml. Just as if I had compared the whole project.
I briefly looked at this bug. Unfortunately I am not sure if this is easily solvable. When running the CompareWith action, eGit first determines if the SynchronizeView should be opened. Since there is an EMFResourceMapping containing model.di/model.notation/model.uml (ergo more than one file) the result is yes. The SynchronizeView is then opened with all relevant files in the context. These are determined via all ResourceMappings including the ones from eGit containing all files which have been touched in the corresponding commits. The issue with the SynchronizeView is that it actually only is a simple gateway to the "real" comparisons. It only performs very lightweight comparisons itself: It looks at all relevant files and filters the ones which have not been touched but does not look at their content at all. So currently the SynchronizeView can not know if the model3 files are or are not relevant to model2.