# HG changeset patch # User Augie Fackler # Date 2014-12-12 18:40:44 # Node ID 6f53629ad2733199ae2194bfb33569cf7b2fef1d # Parent b1179dabc6de9a215b2305c7209b64b764526c39 manifest: disallow setting the node id of an entry to None manifest.diff() uses None as a special value to denote the absence of a file, so setting a file node to None means you then can't trust manifest.diff(). This should also make future manifest work slightly easier. diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -17,6 +17,9 @@ class manifestdict(dict): flags = {} dict.__init__(self, mapping) self._flags = flags + def __setitem__(self, k, v): + assert v is not None + dict.__setitem__(self, k, v) def flags(self, f): return self._flags.get(f, "") def withflags(self):