It would also be a good idea to do the same with the filtered replication specific parameters ("filter" and "query_params"). The patch attached to this email does it.

Also, don't forget the regression test attached to https://issues.apache.org/jira/browse/COUCHDB-703


On Sat, Mar 20, 2010 at 12:22 AM, <jan@apache.org> wrote:
Author: jan
Date: Sat Mar 20 00:22:04 2010
New Revision: 925497

URL: http://svn.apache.org/viewvc?rev=925497&view=rev
backwards compatible ids for non-docid replications


Modified: couchdb/trunk/src/couchdb/couch_rep.erl
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_rep.erl?rev=925497&r1=925496&r2=925497&view=diff
--- couchdb/trunk/src/couchdb/couch_rep.erl (original)
+++ couchdb/trunk/src/couchdb/couch_rep.erl Sat Mar 20 00:22:04 2010
@@ -455,7 +455,12 @@ make_replication_id({Props}, UserCtx) ->
    QueryParams = proplists:get_value(<<"query_params">>, Props),
    DocIds = proplists:get_value(<<"doc_ids">>, Props),
    Base = couch_util:to_hex(erlang:md5(
-        term_to_binary([HostName, Src, Tgt, Filter, QueryParams, DocIds])
+        case DocIds of
+        undefined ->
+            term_to_binary([HostName, Src, Tgt, Filter, QueryParams]);
+        DocIds ->
+            term_to_binary([HostName, Src, Tgt, Filter, QueryParams, DocIds])
+        end
    Extension = maybe_append_options(
        [<<"continuous">>, <<"create_target">>], Props),

Filipe David Manana,

"Reasonable men adapt themselves to the world.
Unreasonable men adapt the world to themselves.
That's why all progress depends on unreasonable men."