On Sat, 2011-04-09 at 10:42 +0100, Robert Newson wrote: > CouchDB does not provide revisioning or history features to the end > user at all. This is a common mistake. > > The use of _rev and MVCC is purely a mechanism to enable sane > replication between servers where writes are permitted everywhere. > CouchDB's replication will only ensure that the current version* of > any document is replicated, earlier revisions are *not* replicated. I'm not interested in replicating earlier revisions. I'm interested in receiving the change notification (either because of replication or because of a local update) and showing what changed. I'm pretty sure that: - in the case of a local update, the previous revision is still there at the moment the change notification happens - in the case of a replication update, the previous local revision is still locally available too. Those are the changes I'm interested in showing, and hence I see no reason why couchdb couldn't inform both the new revid and the revid just before the change. > Earlier revisions are also removed on compaction, which is an > essential maintenance operation. Essential how ? It's not going to stop working if you don't compact, just slow down. Depends on your usage model. And in any case, compaction is triggered, so I would be completely ok with once in a while not being able to get an older revision and not correctly show changes because I triggered compaction. 99% of the time this wouldn't be the case. Thomas -- -- you own me there's nothing you can do you own me lucky you -- Flumotion - the only way to stream! http://www.flumotion.net/