diff -r 01bdccfeb9d9 -r 33394f2e331e mercurial/revlog.py --- a/mercurial/revlog.py Sun Nov 24 17:33:39 2013 -0600 +++ b/mercurial/revlog.py Tue Nov 26 12:58:27 2013 -0800 @@ -1206,6 +1206,15 @@ self.nodemap[node] = curr entry = self._io.packentry(e, self.node, self.version, curr) + self._writeentry(transaction, ifh, dfh, entry, data, link, offset) + + if type(text) == str: # only accept immutable objects + self._cache = (node, curr, text) + self._basecache = (curr, chainbase) + return node + + def _writeentry(self, transaction, ifh, dfh, entry, data, link, offset): + curr = len(self) - 1 if not self._inline: transaction.add(self.datafile, offset) transaction.add(self.indexfile, curr * len(entry)) @@ -1222,11 +1231,6 @@ ifh.write(data[1]) self.checkinlinesize(transaction, ifh) - if type(text) == str: # only accept immutable objects - self._cache = (node, curr, text) - self._basecache = (curr, chainbase) - return node - def addgroup(self, bundle, linkmapper, transaction): """ add a delta group