anchor.diff:  
   terminate(Reason, #state{listeners = Listeners, init_args=[RepId | _]} = State) ->
       [gen_server:reply(L, {error, Reason}) || L <- Listeners],
  -    terminate_cleanup(State),
  -    couch_replicator_manager:replication_error(RepId, Reason).
  +    terminate_cleanup(State).
   
   code_change(_OldVsn, State, _Extra) ->
       {ok, State}.
  
positive.code:     couch_task_status:add_task("Replication", io_lib:format("~s: ~s -> ~s",
          [ShortId, dbname(Source), dbname(Target)]), "Starting"),
  
      couch_replicator_manager:replication_started(RepId),
  
      State = #state{
          changes_feed = ChangesFeed,
          missing_revs = MissingRevs,
  
negative.code:     {stop, Reason, State}.
  
  terminate(normal, #state{checkpoint_scheduled=nil, init_args=[RepId | _]} = State) ->
      do_terminate(State);
  
  terminate(normal, #state{init_args=[RepId | _]} = State) ->
      timer:cancel(State#state.checkpoint_scheduled),
      do_terminate(do_checkpoint(State));
  
  terminate(shutdown, #state{listeners = Listeners} = State) ->
      % continuous replication stopped
  