Commit Diff


commit - 740bba1c3179a597c83f7dd3a23bffb50a494bdf
commit + 9a8dc2b3ec216fd01b3c33137eb92d98ddadb63e
blob - b743863af583889f11b7117b9af6b067cbd196c7
blob + e16e734249903eb0b7588c2328c8ca29db9b48c1
--- lib/deltify.c
+++ lib/deltify.c
@@ -377,8 +377,15 @@ got_deltify(struct got_delta_instruction **deltas, int
 		err = nextblk(buf, &blocklen, f);
 		if (err)
 			break;
-		if (blocklen == 0)
+		if (blocklen == 0) {
+			/* Source remainder from the file itself. */
+			if (fileoffset < filesize) {
+				err = emitdelta(deltas, ndeltas, 0,
+				    fileoffset - offset0,
+				    filesize - fileoffset);
+			}
 			break;
+		}
 		err = lookupblk(&block, dt, buf, blocklen, basefile,
 		    basefile_offset0);
 		if (err)