manifest: disallow setting the node id of an entry to None stable
authorAugie Fackler <augie@google.com>
Fri, 12 Dec 2014 13:40:44 -0500
branchstable
changeset 23594 6f53629ad273
parent 23593 b1179dabc6de
child 23595 035434b407be
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.
mercurial/manifest.py
--- a/mercurial/manifest.py	Fri Dec 12 15:29:54 2014 -0500
+++ b/mercurial/manifest.py	Fri Dec 12 13:40:44 2014 -0500
@@ -17,6 +17,9 @@
             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):