mdiff: add helper for making deltas which replace the full text of a revision
This helper will be used initially for censor-aware delta generation. Deltas
which replace the full contents of the base revision are guaranteed to apply
correctly regardless of whether the delta recipient has censored the base.
For background and broader design of the censorship feature, see:
http://mercurial.selenic.com/wiki/CensorPlan
--- a/mercurial/mdiff.py Fri Jan 23 17:01:39 2015 -0500
+++ b/mercurial/mdiff.py Wed Jan 21 16:35:09 2015 -0500
@@ -367,6 +367,9 @@
def trivialdiffheader(length):
return struct.pack(">lll", 0, 0, length)
+def replacediffheader(oldlen, newlen):
+ return struct.pack(">lll", 0, oldlen, newlen)
+
patches = mpatch.patches
patchedsize = mpatch.patchedsize
textdiff = bdiff.bdiff