[PATCH] manifest: don't store None in fulltextcache

Martin von Zweigbergk martinvonz at google.com
Tue Oct 18 05:58:16 UTC 2016


# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1476769882 25200
#      Mon Oct 17 22:51:22 2016 -0700
# Node ID d2c313417026d76cb19534277df3f3a8b6b22425
# Parent  87a7c0d403ff29dcae2a41e0516c75bbd9f6a5a8
manifest: don't store None in fulltextcache

When we read a value from fulltextcache, we expect it to be an array,
so we should not store None in it. Found while working on narrowhg.

diff -r 87a7c0d403ff -r d2c313417026 mercurial/manifest.py
--- a/mercurial/manifest.py	Tue Oct 18 02:09:08 2016 +0200
+++ b/mercurial/manifest.py	Mon Oct 17 22:51:22 2016 -0700
@@ -1210,7 +1210,8 @@
                 n = self.addrevision(text, transaction, link, p1, p2)
                 arraytext = array.array('c', text)
 
-        self.fulltextcache[n] = arraytext
+        if arraytext is not None:
+            self.fulltextcache[n] = arraytext
 
         return n
 
@@ -1506,7 +1507,8 @@
             m = self._newmanifest(text)
             arraytext = array.array('c', text)
         self._mancache[node] = m
-        self.fulltextcache[node] = arraytext
+        if arraytext is not None:
+            self.fulltextcache[node] = arraytext
         return m
 
     def readshallow(self, node):


More information about the Mercurial-devel mailing list