[PATCH 1 of 2] manifest: duplicate call to addrevision()
Martin von Zweigbergk
martinvonz at google.com
Wed Apr 15 20:01:12 UTC 2015
# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1428874675 25200
# Sun Apr 12 14:37:55 2015 -0700
# Node ID 5f952de4d34db74ec43c07d7f0c893b8976fff73
# Parent c00e4338fa4b316a73a35d39ea57a3d8e7d407e0
manifest: duplicate call to addrevision()
When we start writing submanifests to their own revlogs, we will not
want to write a new revision for a directory if there were no changes
to it. To prepare for this, duplicate the call to addrevision() and
move them earlier where they can more easily be avoided.
diff -r c00e4338fa4b -r 5f952de4d34d mercurial/manifest.py
--- a/mercurial/manifest.py Tue Apr 14 11:44:04 2015 -0400
+++ b/mercurial/manifest.py Sun Apr 12 14:37:55 2015 -0700
@@ -836,6 +836,7 @@
arraytext, deltatext = m.fastdelta(self._mancache[p1][1], work)
cachedelta = self.rev(p1), deltatext
text = util.buffer(arraytext)
+ n = self.addrevision(text, transaction, link, p1, p2, cachedelta)
else:
# The first parent manifest isn't already loaded, so we'll
# just encode a fulltext of the manifest and pass that
@@ -843,9 +844,8 @@
# process.
text = m.text(self._usemanifestv2)
arraytext = array.array('c', text)
- cachedelta = None
+ n = self.addrevision(text, transaction, link, p1, p2)
- n = self.addrevision(text, transaction, link, p1, p2, cachedelta)
self._mancache[n] = (m, arraytext)
return n
More information about the Mercurial-devel
mailing list