4.6.1 Comparing the PidTagPredecessorChangeList Property to Detect Conficts, No Conflicts Found
In this example, data is being replicated from the client to the server. The PidTagPredecessorChangeList properties (section 2.2.1.2.8) of both the client and the server contain one PidTagChangeKey property (section 2.2.1.2.7). The value of the GLOBCNT structure, as described in section 2.2.2.5, of the client's PidTagPredecessorChangeList property entry is larger than the value of the GLOBCNT structure that is located on the server.
Before synchronization:
The client PidTagPredecessorChangeList property has the following data:
Size
GUID
GLOBCNT
22
75DCB0E0-EDB1-481E-B5CE-EC3400896353
00 8e 7a 74 08 0a
The server PidTagPredecessorChangeList property has the following data:
Size
GUID
GLOBCNT
22
75DCB0E0-EDB1-481E-B5CE-EC3400896353
00 8e 7a 74 08 08
Conflict analysis:
There are no common PidTagChangeKey property items in the client and server PidTagPredecessorChangeList property that are to be eliminated.
The client PidTagChangeKey property is larger than the server PidTagChangeKey property, so the imported item from the client overwrites the server item.
There is no change on the client PidTagPredecessorChangeList property.
After synchronization:
The client PidTagPredecessorChangeList property has no change. The value is the same as before synchronization.
The server PidTagPredecessorChangeList property has the following data:
Size
GUID
GLOBCNT
22
75DCB0E0-EDB1-481E-B5CE-EC3400896353
00 8e 7a 74 08 0a
In the next example, data is being replicated from the client to the server, where the client predecessor change list (PidTagPredecessorChangeList property) shows that the client has more recent changes than the server.
Before synchronization:
The client PidTagPredecessorChangeList property has the following data:
Size
GUID
GLOBCNT
22
75DCB0E0-EDB1-481E-B5CE-EC3400896353
00 8e 7a 74 08 0a
22
2A47B01B-29A5-45F1-9FDC-F6E14FB7ECCA
00 8e 7a 7c 13 30
The server PidTagPredecessorChangeList property has the following data:
Size
GUID
GLOBCNT
22
75DCB0E0-EDB1-481E-B5CE-EC3400896353
00 8e 7a 74 08 0a
Conflict analysis:
As stated in the previous conflict-detection logic, removing the identical PidTagChangeKey property values from both the PidTagPredecessorChangeList properties leaves only the latest PidTagChangeKey property of the client (as shown in the following table).
Size
GUID
GLOBCNT
22
2A47B01B-29A5-45F1-9FDC-F6E14FB7ECCA
00 8e 7a 7c 13 30
This imported client item overwrites the server item.
After synchronization:
The client PidTagPredecessorChangeList property has no change. The value is the same as before synchronization.
The server PidTagPredecessorChangeList property has the following data:
Size
GUID
GLOBCNT
22
75DCB0E0-EDB1-481E-B5CE-EC3400896353
00 8e 7a 74 08 0a
22
2A47B01B-29A5-45F1-9FDC-F6E14FB7ECCA
00 8e 7a 7c 13 30