[PATCH 3 of 6] revlog: slightly tune group() by not going rev->node->rev
Peter Arrenbrecht
peter.arrenbrecht at gmail.com
Thu May 14 09:27:35 CDT 2009
# HG changeset patch
# User Peter Arrenbrecht <peter.arrenbrecht at gmail.com>
# Date 1242309621 -7200
# Node ID 8e4626b3920fb1c3a142c754b557b1cdba25e477
# Parent c236b8986ed27ad39e646e3683000e1e40493a9d
revlog: slightly tune group() by not going rev->node->rev
diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -1149,16 +1149,17 @@
have this parent as it has all history before these
changesets. parent is parent[0]
"""
- revs = [self.rev(n) for n in nodelist]
# if we don't have any revisions touched by these changesets, bail
- if not revs:
+ if not nodelist:
yield changegroup.closechunk()
return
+ revs = [self.rev(n) for n in nodelist]
+
# add the parent of the first rev
- p = self.parents(self.node(revs[0]))[0]
- revs.insert(0, self.rev(p))
+ p = self.parentrevs(revs[0])[0]
+ revs.insert(0, p)
# build deltas
for d in xrange(0, len(revs) - 1):
More information about the Mercurial-devel
mailing list