[PATCH 1 of 6 censor RFC] mdiff: add helper for making deltas which replace the full text of a revision

Mike Edgar adgar at google.com
Fri Jan 23 23:53:21 UTC 2015


# HG changeset patch
# User Mike Edgar <adgar at google.com>
# Date 1421876109 18000
#      Wed Jan 21 16:35:09 2015 -0500
# Node ID c918140288f12c3b5fb408da89512baff72ffd17
# Parent  22a979d1ae569d1cd87f166b5600def0fe93efb3
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

diff -r 22a979d1ae56 -r c918140288f1 mercurial/mdiff.py
--- a/mercurial/mdiff.py	Mon Jan 12 15:29:36 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(old, new):
+    return struct.pack(">lll", 0, old, new)
+
 patches = mpatch.patches
 patchedsize = mpatch.patchedsize
 textdiff = bdiff.bdiff


More information about the Mercurial-devel mailing list