# HG changeset patch # User Mike Edgar # Date 1413315976 14400 # Node ID d81792872984138fcefb43812f5ab3e458e22d75 # Parent 48c0b101a9de1fdbd638daa858da845cd05a6be7 context: handle censored data in an on-disk file context based on config Two possible behaviors are defined for handling censored data: abort, and ignore. When we ignore censored data we return an empty file to callers requesting the file data. diff -r 48c0b101a9de -r d81792872984 mercurial/context.py --- a/mercurial/context.py Wed Oct 08 15:20:14 2014 -0400 +++ b/mercurial/context.py Tue Oct 14 15:46:16 2014 -0400 @@ -930,7 +930,14 @@ filelog=self._filelog) def data(self): - return self._filelog.read(self._filenode) + try: + return self._filelog.read(self._filenode) + except error.CensoredNodeError: + if self._repo.ui.config("censor", "policy", "abort") == "ignore": + return "" + raise util.Abort(_("censored node: %s") % short(self._filenode), + hint="set censor.policy to ignore errors") + def size(self): return self._filelog.size(self._filerev)