# HG changeset patch # User timeless@mozdev.org # Date 1441360678 14400 # Node ID 5411059d93f8858ad965337cfa735da574246f71 # Parent 1a781a986611a110219cbcadc8eafbb57a6d0c25 manifest: switch add() to heapq.merge (available in Py2.6+) diff -r 1a781a986611 -r 5411059d93f8 mercurial/manifest.py --- a/mercurial/manifest.py Fri Sep 04 05:54:35 2015 -0400 +++ b/mercurial/manifest.py Fri Sep 04 05:57:58 2015 -0400 @@ -9,6 +9,7 @@ import mdiff, parsers, error, revlog, util import array, struct import os +import heapq propertycache = util.propertycache @@ -970,12 +971,9 @@ # revlog layer. _checkforbidden(added) - # combine the changed lists into one list for sorting - work = [(x, False) for x in added] - work.extend((x, True) for x in removed) - # this could use heapq.merge() (from Python 2.6+) or equivalent - # since the lists are already sorted - work.sort() + # combine the changed lists into one sorted iterator + work = heapq.merge([(x, False) for x in added], + [(x, True) for x in removed]) arraytext, deltatext = m.fastdelta(self._mancache[p1][1], work) cachedelta = self.rev(p1), deltatext