Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 22932:d81792872984
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.
author | Mike Edgar <adgar@google.com> |
---|---|
date | Tue, 14 Oct 2014 15:46:16 -0400 |
parents | cfa8d7561938 |
children | 03602f76deee |
comparison
equal
deleted
inserted
replaced
22931:48c0b101a9de | 22932:d81792872984 |
---|---|
928 opening a new filelog''' | 928 opening a new filelog''' |
929 return filectx(self._repo, self._path, fileid=fileid, | 929 return filectx(self._repo, self._path, fileid=fileid, |
930 filelog=self._filelog) | 930 filelog=self._filelog) |
931 | 931 |
932 def data(self): | 932 def data(self): |
933 return self._filelog.read(self._filenode) | 933 try: |
934 return self._filelog.read(self._filenode) | |
935 except error.CensoredNodeError: | |
936 if self._repo.ui.config("censor", "policy", "abort") == "ignore": | |
937 return "" | |
938 raise util.Abort(_("censored node: %s") % short(self._filenode), | |
939 hint="set censor.policy to ignore errors") | |
940 | |
934 def size(self): | 941 def size(self): |
935 return self._filelog.size(self._filerev) | 942 return self._filelog.size(self._filerev) |
936 | 943 |
937 def renamed(self): | 944 def renamed(self): |
938 """check if file was actually renamed in this changeset revision | 945 """check if file was actually renamed in this changeset revision |