Merge Rules for Single-Value Properties

The Semantic Modeler merge rules described in this topic apply to single-value properties, for example, name, description, or primitive type. Semantic Modeler's merge strategy evaluates properties independently and doesn't assign them identity beyond their field name.

Merge Semantics

This section describes how the Semantic Modeler's merge strategy evaluates and handles single-value properties.

  • Evaluates each property independently by field name.
  • Applies strict value comparison for conflict detection.
  • Merges non-overlapping changes automatically.
  • Generates conflicts for any incompatible concurrent modification.
  • Doesn't support reorder and rename operations for single-value properties.

Global Changes

This table lists the general merge rules for single-value properties.

Local Branch Remote Branch Result
No change Change Keep Remote
Change No change Keep Local
Same change Same change Keep
Change property value Change same property value to different than Local branch Conflict

Change Conflict Conditions

These change combinations result in merge conflicts.

  • Both branches add the same key with different field values.
  • Both branches modify the same object differently.
  • One branch modifies a key while the other deletes it.

Change Types

This section lists and describes the object-level changes evaluated by the merge.

  • Addition: Local or Remote branch adds property or value. Property or value not in Base.
  • Deletion: Local or Remote branch removes property or value. Property or value present in Base.
  • Modification: Local or Remote branch changes property or value. Property or value present in Base.
  • Reorder: Not applicable to single-value properties.
  • Rename: Not applicable to single-value properties.

Complete List of Changes and Merge Rules

This table lists and explains Semantic Modeler's merge rules for single-value properties.

Local Modification Remote Modification Rule (Natural Language) Result
No change No change No change made in either branch. No change in merge result. No action
No change Addition Remote branch adds new property. Merge results include new property. Addition kept
No change Modification Remote branch modifies a property. Merge results include modified property. Modification kept
No change Deletion Remote branch deletes a property. Merge results reflect property deletion. Deletion kept
Addition No change Local branch adds property. Merge results include new property. Addition kept
Addition Addition (same value) Local and Remote branches add a property with the same value. Merge results keep only one instance of the property with value. Addition kept
Addition Addition (different value) Local and Remote branches add a property but with different values. Results in merge conflict that user must resolve. Merge conflict
Modification No change Local branch modifies a property. Merge results include the modified property. Modification kept
Modification Modification (same value) Local and Remote branches make the same change to the same value. Merge results include the modified value. Modification kept
Modification Modification (different value) Local and Remote branches make different changes to the same value. Results in merge conflict that user must resolve. Merge conflict
Modification Deletion Local branch modifies a property and Remote branch deletes the same property. Results in merge conflict that user must resolve. Merge conflict
Deletion No change Local branch deletes a property. Merge results remove the object. Deletion kept
Deletion Modification Local branch deletes a property and Remote branch modifies the same property. Results in merge conflict that user must resolve. Merge conflict
Deletion Deletion (same property) Local and Remote branches delete the same property. Merge results deletes the object. Deletion kept