Conflict detection uses either timestamps or assertions. Detection must take into account operations on several data items and dependencies between items. This is typical of CVS and many commercial file synchronisers. State-based repair does not deal well with certain data types, especially when the users' intents cannot be inferred from the final state. The alternative is to maintain a log of actions at each site.
Reconciliation replays a schedule combining two logs from a common initial state.
Recent research prototypes fall into this category. The most advanced is Bayou, a replicated relational database system with reconciliation based on assertions and time-ordered replay. One recurring problem is that an operation was initially expressed with respect to some context, and needs to be translated with respect to the replay context. Our research system, IceCube, combines avoidance, detection and repair. It is designed to support different applications and datatypes.