Bạn sẽ cần phải xác định những gì 'hợp nhất' có nghĩa đối với bạn. Bạn có thể dễ dàng đính kèm tất cả các mô hình EMF vào cùng một tài nguyên và tuần tự hóa chúng.
Có thể bạn sẽ muốn thiết lập sự tương đương giữa model1 và model2. Tìm một số đối tượng bằng nhau giữa model1 và model2. Sau này, bạn có thể tìm thấy sự khác biệt.
Như một ví dụ:
Model1 is a FARM with serial number 33829. Children: 2 CHICKENS, 3 EGGS and 1 PIG
Model2 is a FARM with serial number 33829. Children: 4 CHICKENS, 3 EGGS and 1 PIG
Các phù hợp với bước thiết lập equivalencies sau:
Model1->FARM = Model2->FARM because serial number is equal
all other entities have not been matched
Sau bước này đến các khác biệt bước:
REMOVED: 2 CHICKENS, 3 EGGS, 1 PIG
ADDED: 4 CHICKENS, 3 EGGS, 1 PIG
Sử dụng những sự khác biệt , bạn có thể áp dụng chúng cho mô hình của mình. Chỉ áp dụng sự khác biệt 'ĐÃ ĐƯỢC' cung cấp cho bạn mô hình sau:
Model1+2 is a FARM with serial number 33829. Children: 2 CHICKENS, 3 EGGS, 1 PIG, 4 CHICKENS, 3 EGGS, 1 PIG
Bạn có thể xác định quy tắc kinh doanh 'sáp nhập'. Trước tiên, bạn sẽ phải xác định khi nào hai thực thể giống nhau (khớp). Điều này có thể được dựa trên một khóa duy nhất, trên vị trí của họ trong cây, hoặc dựa trên rất nhiều thứ khác, tùy thuộc vào metamodel của bạn.
Kết quả là bạn sẽ có danh sách 'sự khác biệt'. Đó là vào bạn để xác định những khác biệt để áp dụng.
Nếu bạn thấy 'hợp nhất' dưới dạng SVN Merge (ví dụ: Model1 = Model0 + changes, Model2 = Model0 + các thay đổi khác), thì MergeService
đã chứa tất cả các quy tắc kinh doanh để thực hiện việc này.