Check-in [7646ee13e3]
Not logged in
Overview

SHA1 Hash:7646ee13e34f6aad3dec3787968b1c29d87ea6e5
Date: 2009-08-12 14:27:24
User: drh
Comment: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.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified src/xfer.c from [9688d1b60b] to [463e575108].

@@ -125,14 +125,13 @@
   }
   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);
     blob_reset(&src);