Mercurial > public > mercurial-scm > hg
comparison mercurial/manifest.py @ 30209:9d06b65c5df2
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.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 17 Oct 2016 22:51:22 -0700 |
parents | abe723002509 |
children | 3c8811efdddc |
comparison
equal
deleted
inserted
replaced
30208:87a7c0d403ff | 30209:9d06b65c5df2 |
---|---|
1208 else: | 1208 else: |
1209 text = m.text(self._usemanifestv2) | 1209 text = m.text(self._usemanifestv2) |
1210 n = self.addrevision(text, transaction, link, p1, p2) | 1210 n = self.addrevision(text, transaction, link, p1, p2) |
1211 arraytext = array.array('c', text) | 1211 arraytext = array.array('c', text) |
1212 | 1212 |
1213 self.fulltextcache[n] = arraytext | 1213 if arraytext is not None: |
1214 self.fulltextcache[n] = arraytext | |
1214 | 1215 |
1215 return n | 1216 return n |
1216 | 1217 |
1217 def _addtree(self, m, transaction, link, m1, m2): | 1218 def _addtree(self, m, transaction, link, m1, m2): |
1218 # If the manifest is unchanged compared to one parent, | 1219 # If the manifest is unchanged compared to one parent, |
1504 else: | 1505 else: |
1505 text = self.revision(node) | 1506 text = self.revision(node) |
1506 m = self._newmanifest(text) | 1507 m = self._newmanifest(text) |
1507 arraytext = array.array('c', text) | 1508 arraytext = array.array('c', text) |
1508 self._mancache[node] = m | 1509 self._mancache[node] = m |
1509 self.fulltextcache[node] = arraytext | 1510 if arraytext is not None: |
1511 self.fulltextcache[node] = arraytext | |
1510 return m | 1512 return m |
1511 | 1513 |
1512 def readshallow(self, node): | 1514 def readshallow(self, node): |
1513 '''Reads the manifest in this directory. When using flat manifests, | 1515 '''Reads the manifest in this directory. When using flat manifests, |
1514 this manifest will generally have files in subdirectories in it. Does | 1516 this manifest will generally have files in subdirectories in it. Does |