[PATCH 5 of 6 cg3 v3] changegroup: restate file linknode callback using generator expressions
Augie Fackler
raf at durin42.com
Fri Dec 4 13:38:54 CST 2015
# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1449247143 18000
# Fri Dec 04 11:39:03 2015 -0500
# Node ID 6a50de91435bc616dd127aab08cb3ff822409c8d
# Parent d357e1c6126accf134cd5ad26c90a1728650bc2c
# EXP-Topic cg3
changegroup: restate file linknode callback using generator expressions
I think this is slightly clearer, and it nicely avoids an extra nested
function.
diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -698,14 +698,12 @@ class cg1packer(object):
def linknodes(unused, fname):
return fnodes.get(fname, {})
else:
+ cln = cl.node
def linknodes(filerevlog, fname):
llr = filerevlog.linkrev
- def genfilenodes():
- for r in filerevlog:
- linkrev = llr(r)
- if linkrev in clrevs:
- yield filerevlog.node(r), cl.node(linkrev)
- return dict(genfilenodes())
+ fln = filerevlog.node
+ revs = ((r, llr(r)) for r in filerevlog)
+ return dict((fln(r), cln(lr)) for r, lr in revs if lr in clrevs)
changedfiles = set()
for x in mfchangedfiles.itervalues():
More information about the Mercurial-devel
mailing list