To accurately determine the difference between two versions of a model, LemonTree needs to match the elements in one model to their corresponding version in the other model.
To do so, LemonTree pairs elements based on their internal ids. These ids are assigned by Enterprise Architect, and are usually not visible to the user when working with Enterprise Architect.
The concrete form of the id depends on the actual type of element in question.
- IDs are usually the most stable information available about each particular element, as Enterprise Architect uses this information to identify elements as well.
Basing the diff on them therefore usually leads to the least amount of differences.
- Changes in IDs need to be detected regardless, as these changes need to be considered for every element which references these IDs as well.
- Detection of moved elements is possible
- Changes in IDs are shown in LemonTree, even though they might not have any immediate value for the user
- Changes in the IDs of packages in particular can lead to a large number of shown differences, as every element belonging to the package is shown as having "moved"