[PATCH 2 of 5] manifest: switch add() to heapq.merge (available in Py2.6+)
timeless at mozdev.org
timeless at mozdev.org
Tue Sep 8 20:00:58 CDT 2015
# HG changeset patch
# User timeless at mozdev.org
# Date 1441360678 14400
# Fri Sep 04 05:57:58 2015 -0400
# Node ID 143d8109b4e6e646faad6d6ebae0916025fd88c6
# Parent 86cde82f7a356f189678df401831646e32499522
manifest: switch add() to heapq.merge (available in Py2.6+)
diff --git a/mercurial/manifest.py b/mercurial/manifest.py
--- a/mercurial/manifest.py
+++ b/mercurial/manifest.py
@@ -9,6 +9,7 @@
import mdiff, parsers, error, revlog, util
import array, struct
import os
+import heapq
propertycache = util.propertycache
@@ -970,12 +971,8 @@
# 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 list
+ 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
More information about the Mercurial-devel
mailing list