[PATCH 1 of 4 censor RFC] filelog: allow censored files to contain padding data

Mike Edgar adgar at google.com
Fri Feb 6 03:57:47 UTC 2015


# HG changeset patch
# User Mike Edgar <adgar at google.com>
# Date 1423187064 0
#      Fri Feb 06 01:44:24 2015 +0000
# Node ID e24ad0a4a1d819c4d79799b5a453987ea88e1b9e
# Parent  8b88870cbd1eeefaee0af053ae36728f8c0a1847
filelog: allow censored files to contain padding data

To ensure delta compatibility, when a revision is censored, it is
padded to match the original data in size. The previous check does
not allow for padding because it was added before padding was found
to be a requirement.

For more background and design of the censorship feature, see:
mercurial.selenic.com/wiki/CensorPlan

diff -r 8b88870cbd1e -r e24ad0a4a1d8 mercurial/filelog.py
--- a/mercurial/filelog.py	Fri Jan 16 10:57:13 2015 -0800
+++ b/mercurial/filelog.py	Fri Feb 06 01:44:24 2015 +0000
@@ -29,7 +29,7 @@
 
 def _censoredtext(text):
     m, offs = parsemeta(text)
-    return m and "censored" in m and not text[offs:]
+    return m and "censored" in m
 
 class filelog(revlog.revlog):
     def __init__(self, opener, path):


More information about the Mercurial-devel mailing list