I have no idea why Damien decided to add the _revs_diff endpoint instead of extending _missing_revs, but that's how it happened. The _missing_revs endpoint lacks the ancestry details that allow the replicator to eliminate some classes of redundant attachment transfers. There's absolutely no advantage to using it; it exists to maintain replication interop with older CouchDB installs.
Adam On Mar 31, 2014, at 1:52 PM, Alexander Shorin <[email protected]> wrote: > It's not new, but iirc during my replication protocol investigations, > it doesn't uses since 1.2.x release when replication was rewritten at > the first time. > Did your client provided CouchDB version? > -- > ,,,^..^,,, > > > On Mon, Mar 31, 2014 at 9:49 PM, Jens Alfke <[email protected]> wrote: >> {Accidentally sent this to the ‘user’ list first, when it should have gone >> here. Apologies for people who get it twice} >> >> I just discovered a “/db/_missing_revs” endpoint in the API spec[1]. It >> looks as though it’s mostly identical to _revs_diff. Is this new? And what’s >> the advantage over _revs_diff? The response contains less information. >> >> (Actually, I discovered _missing_revs via a bug report from a user who found >> CouchDB’s replicator sending it to the Couchbase Sync Gateway, which doesn’t >> have any handler for it. Oops.) >> >> —Jens >> >> [1]: http://docs.couchdb.org/en/latest/api/database/misc.html#db-missing-revs
