Examples of Merging Versions
A typical version graph for an object is shown in the following figure. The object has three properties: Size, Color, and Quantity. For selected versions of the object, the figure shows the values of these properties as ordered triplets.
If you merge Version 4 into Version 8 (using Version 4 as the primary version), Repository uses Version 2 as the Basis Version.
The resulting version graph looks like this:
In the resulting version graph, notice the following:
-
Version 4 is now a non-creation predecessor of Version 8.
-
In Version 8, the value of the Size property is medium. (The change in the primary version, from small to medium, prevails over the change in the secondary version, from small to large.)
-
In Version 8, the value of the Color property is red. (The change in the secondary version's value prevails because the corresponding value in the primary version did not change.)
-
In Version 8, the value of the Quantity property is null. (The change in the secondary version's value prevails because the corresponding value in the primary version did not change.)
Later, you merge Version 6 into Version 8, using Version 8 as the primary version. Repository uses Version 1 as the basis version. Before the merge, the version graph (with important property values shown) looks like this:
The resulting version graph is shown in the following figure.
In the resulting version graph in the preceding figure, notice the following:
-
Version 6 is now a non-creation predecessor of Version 8.
-
In Version 8, the value of the Size property is medium. (Neither the primary nor secondary version's value had changed from the basis version's value.)
-
In Version 8, the value of the Color property is red. (The change in the primary version's value, from green to red, prevails over the change in the secondary version's value, from green to null.)
-
In Version 8, the value of the Quantity property is 555. (The change in the secondary version's value, from null to 555, prevails because the corresponding value in the primary version did not change.)