mercurial/changegroup.py
changeset 27240 94a3d6fdc315
parent 27239 65c47779bcb5
child 27241 ead8e7069998
equal deleted inserted replaced
27239:65c47779bcb5 27240:94a3d6fdc315
   692             yield x
   692             yield x
   693 
   693 
   694         mfs.clear()
   694         mfs.clear()
   695         clrevs = set(cl.rev(x) for x in clnodes)
   695         clrevs = set(cl.rev(x) for x in clnodes)
   696 
   696 
   697         def linknodes(filerevlog, fname):
   697         if not fastpathlinkrev:
   698             if fastpathlinkrev:
   698             def linknodes(unused, fname):
       
   699                 return fnodes.get(fname, {})
       
   700         else:
       
   701             def linknodes(filerevlog, fname):
   699                 llr = filerevlog.linkrev
   702                 llr = filerevlog.linkrev
   700                 def genfilenodes():
   703                 def genfilenodes():
   701                     for r in filerevlog:
   704                     for r in filerevlog:
   702                         linkrev = llr(r)
   705                         linkrev = llr(r)
   703                         if linkrev in clrevs:
   706                         if linkrev in clrevs:
   704                             yield filerevlog.node(r), cl.node(linkrev)
   707                             yield filerevlog.node(r), cl.node(linkrev)
   705                 return dict(genfilenodes())
   708                 return dict(genfilenodes())
   706             return fnodes.get(fname, {})
       
   707 
   709 
   708         changedfiles = set()
   710         changedfiles = set()
   709         for x in mfchangedfiles.itervalues():
   711         for x in mfchangedfiles.itervalues():
   710             changedfiles.update(x)
   712             changedfiles.update(x)
   711         for chunk in self.generatefiles(changedfiles, linknodes, commonrevs,
   713         for chunk in self.generatefiles(changedfiles, linknodes, commonrevs,