[PATCH 4 of 4 censor RFC] filelog: use censored revlog flag bit to quickly check if a node is censored
Mike Edgar
adgar at google.com
Mon Jan 12 15:08:20 CST 2015
# HG changeset patch
# User Mike Edgar <adgar at google.com>
# Date 1421094576 18000
# Mon Jan 12 15:29:36 2015 -0500
# Node ID 86068d18ad71ea47711d8b7ac96b422202deabef
# Parent 14ac00cc2162fb0d933e334b08bccdc49012843c
filelog: use censored revlog flag bit to quickly check if a node is censored
diff -r 14ac00cc2162 -r 86068d18ad71 mercurial/filelog.py
--- a/mercurial/filelog.py Mon Jan 12 14:41:25 2015 -0500
+++ b/mercurial/filelog.py Mon Jan 12 15:29:36 2015 -0500
@@ -85,7 +85,7 @@
return False
# censored files compare against the empty file
- if self._iscensored(node):
+ if self._iscensored(self.rev(node)):
return text != ''
# renaming a file produces a different hash, even if the data
@@ -107,10 +107,6 @@
def _file(self, f):
return filelog(self.opener, f)
- def _iscensored(self, revornode):
+ def _iscensored(self, rev):
"""Check if a file revision is censored."""
- try:
- self.revision(revornode)
- return False
- except error.CensoredNodeError:
- return True
+ return self.flags(rev) & revlog.REVIDX_ISCENSORED
More information about the Mercurial-devel
mailing list