anchor.diff:          ?LOG_INFO("source doesn't have _changes, trying _all_docs_by_seq", []),
           Self = self(),
           BySeqPid = spawn_link(fun() -> by_seq_loop(Self, Source, Since) end),
  -        {ok, #state{last_seq=Since, by_seq_loop=BySeqPid}};
  +        {ok, #state{last_seq=Since, changes_loop=BySeqPid}};
       {ibrowse_async_headers, ReqId, Code, _} ->
           {stop, {changes_error_code, list_to_integer(Code)}}
       after 10000 ->
  
positive.code:         qs = [{limit, 1000}, {startkey, StartSeq}]
      },
      {Results} = couch_rep_httpc:request(Req),
      if Results =:= [] -> exit(normal); true -> ok end,
      EndSeq = lists:foldl(fun({RowInfoList}, _) ->
          Id = proplists:get_value(<<"id">>, RowInfoList),
          Seq = proplists:get_value(<<"key">>, RowInfoList),
  
negative.code:     {stop, changes_loop_died, State};
  
  handle_info(Msg, State) ->
      ?LOG_DEBUG("unexpected message at changes_feed ~p", [Msg]),
      {noreply, State}.
  
  terminate(_Reason, #state{conn=Pid}) when is_pid(Pid) ->
  