| stream model1 model2 importer mod1 mod2 countRef countNew countChg | countRef := 0. countChg:= 0. countNew:= 0. mod1 := MooseModel new. stream:= MultiByteFileStream newFrom:(FileStream readOnlyFileNamed: 'sys1/model.mse'). mod1 name:(FileDirectory baseNameFor: stream localName). mod1 importFromMSEStream: stream. mod1 rootFolder:'sys1'. mod2 := MooseModel new. stream:= MultiByteFileStream newFrom:(FileStream readOnlyFileNamed: 'sys2/model.mse'). mod2 name:(FileDirectory baseNameFor: stream localName). mod2 importFromMSEStream: stream. mod2 rootFolder:'sys2'. mod1 entities do: [ :oldEntity | |newEntity oldWithSameType| oldWithSameType:= mod2 allWithType:(oldEntity class). newEntity:= oldWithSameType select:[:e| e mooseName = oldEntity mooseName ]. (newEntity size > 0 ) ifTrue: [ newEntity := newEntity first. (oldEntity respondsTo: #sourceText) ifTrue: [ (oldEntity sourceText = newEntity sourceText) ifTrue: [ countRef:= countRef +1. "create reference"] ifFalse: [ countChg := countChg +1."create a new version entity" ]. ] ifFalse: [ countRef:= countRef +1. "create reference" ]. mod2 remove:newEntity. ]]. countNew := mod2 size.