natevw/memcouch

Support conflicts via proper revtree?

Closed this issue · 3 comments

Some basic revtree awareness will probably be needed to properly slave a local store to changes incoming from a server. (And if that's the case, why not support the full semantics for masterless replication?)

How conflicts would be presented to the local callers would also be an open question: exception on get? require that user provide a handler to resolve them on ingest?

Looks like the original strategy was to have remote changes simply overwrite the local object:

memdb.put(change.doc);

This has been addressed in the v2 (aka npm version 0.9.0) branch although still not with a proper revtree. See https://github.com/natevw/memcouch/blob/5ae2f3b/README.md#revision-and-conflict-tracking-details for notes.