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

Reply via email to