Diff
Not logged in

Differences From:

File src/xfer.c part of check-in [80457ec79b] - When the sync protocol receives an HTML error message, print the entire text of the message verbatim. Fix for ticket 8a7a49c47d7f200126402c10803e40dbad595c52. by drh on 2009-08-01 13:42:22. [view]

To:

File src/xfer.c part of check-in [7646ee13e3] - Fix an issue with "clone" on the client side: the client was requesting multiple copies of artifacts for which it held a delta with a phantom source. by drh on 2009-08-12 14:27:24. [view]

@@ -126,12 +126,11 @@
   if( pXfer->nToken==4 ){
     Blob src;
     srcid = rid_from_uuid(&pXfer->aToken[2], 1);
     if( content_get(srcid, &src)==0 ){
-      content_put(&content, blob_str(&pXfer->aToken[1]), srcid);
-      blob_appendf(pXfer->pOut, "gimme %b\n", &pXfer->aToken[2]);
-      pXfer->nGimmeSent++;
+      rid = content_put(&content, blob_str(&pXfer->aToken[1]), srcid);
       pXfer->nDanglingFile++;
+      db_multi_exec("DELETE FROM phantom WHERE rid=%d", rid);
       return;
     }
     pXfer->nDeltaRcvd++;
     blob_delta_apply(&src, &content, &content);