anchor.diff:          Doc = couch_doc_from_req(Req, DocId, Json);
       false ->
           Rev = couch_doc:parse_rev(list_to_binary(couch_util:get_value("_rev", Form))),
  -        {ok, [{ok, Doc}]} = fabric:open_revs(Db, DocId, [Rev], [])
  +        Doc = case fabric:open_revs(Db, DocId, [Rev], []) of
  +            {ok, [{ok, Doc0}]} -> Doc0;
  +            {error, Error} -> throw(Error)
  +        end
       end,
       UpdatedAtts = [
           couch_att:new([
  
positive.code:         Rev ->
              case fabric:open_revs(Db, DocId, [Rev], [{user_ctx,Ctx}]) of
              {ok, [{ok, Doc0}]}  -> Doc0;
              {ok, [Error]}       -> throw(Error)
              end
      end,
  
  
negative.code:         Doc = couch_doc_open(Db, DocId, Rev, Options2),
          send_doc(Req, Doc, Options2);
      _ ->
          case fabric:open_revs(Db, DocId, Revs, Options) of
              {ok, []} when Revs == all ->
                  chttpd:send_error(Req, {not_found, missing});
              {ok, Results} ->
                  case MochiReq:accepts_content_type("multipart/mixed") of
                  false ->
                      {ok, Resp} = start_json_response(Req, 200),
  