# HG changeset patch # User Augie Fackler # Date 1449247143 18000 # Node ID ead8e7069998facb70245cc387bd066591036c9d # Parent 94a3d6fdc315088d2f708d271b120af1697eb7d5 changegroup: restate file linknode callback using generator expressions I think this is slightly clearer, and it nicely avoids an extra nested function. diff -r 94a3d6fdc315 -r ead8e7069998 mercurial/changegroup.py --- a/mercurial/changegroup.py Fri Dec 04 11:38:02 2015 -0500 +++ b/mercurial/changegroup.py Fri Dec 04 11:39:03 2015 -0500 @@ -698,14 +698,12 @@ 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():