comparison mercurial/localrepo.py @ 11653:eefa362d0b45

changegroup(): used "linkrev" instead of "revlink"
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Thu, 22 Jul 2010 16:18:33 +0200
parents 08a269d9c4ca
children 898a5305f342
comparison
equal deleted inserted replaced
11652:08a269d9c4ca 11653:eefa362d0b45
1555 def gennodelst(log): 1555 def gennodelst(log):
1556 for r in log: 1556 for r in log:
1557 if log.linkrev(r) in revset: 1557 if log.linkrev(r) in revset:
1558 yield log.node(r) 1558 yield log.node(r)
1559 1559
1560 def lookuprevlink_func(revlog): 1560 def lookuplinkrev_func(revlog):
1561 def lookuprevlink(n): 1561 def lookuplinkrev(n):
1562 return cl.node(revlog.linkrev(revlog.rev(n))) 1562 return cl.node(revlog.linkrev(revlog.rev(n)))
1563 return lookuprevlink 1563 return lookuplinkrev
1564 1564
1565 def gengroup(): 1565 def gengroup():
1566 '''yield a sequence of changegroup chunks (strings)''' 1566 '''yield a sequence of changegroup chunks (strings)'''
1567 # construct a list of all changed files 1567 # construct a list of all changed files
1568 changedfiles = set() 1568 changedfiles = set()
1577 self.ui.progress(_('bundling changes'), None) 1577 self.ui.progress(_('bundling changes'), None)
1578 1578
1579 mnfst = self.manifest 1579 mnfst = self.manifest
1580 nodeiter = gennodelst(mnfst) 1580 nodeiter = gennodelst(mnfst)
1581 cnt = 0 1581 cnt = 0
1582 for chnk in mnfst.group(nodeiter, lookuprevlink_func(mnfst)): 1582 for chnk in mnfst.group(nodeiter, lookuplinkrev_func(mnfst)):
1583 self.ui.progress(_('bundling manifests'), cnt, unit=_('chunks')) 1583 self.ui.progress(_('bundling manifests'), cnt, unit=_('chunks'))
1584 cnt += 1 1584 cnt += 1
1585 yield chnk 1585 yield chnk
1586 self.ui.progress(_('bundling manifests'), None) 1586 self.ui.progress(_('bundling manifests'), None)
1587 1587
1593 nodeiter = gennodelst(filerevlog) 1593 nodeiter = gennodelst(filerevlog)
1594 nodeiter = list(nodeiter) 1594 nodeiter = list(nodeiter)
1595 if nodeiter: 1595 if nodeiter:
1596 yield changegroup.chunkheader(len(fname)) 1596 yield changegroup.chunkheader(len(fname))
1597 yield fname 1597 yield fname
1598 lookup = lookuprevlink_func(filerevlog) 1598 lookup = lookuplinkrev_func(filerevlog)
1599 for chnk in filerevlog.group(nodeiter, lookup): 1599 for chnk in filerevlog.group(nodeiter, lookup):
1600 self.ui.progress( 1600 self.ui.progress(
1601 _('bundling files'), cnt, item=fname, unit=_('chunks')) 1601 _('bundling files'), cnt, item=fname, unit=_('chunks'))
1602 cnt += 1 1602 cnt += 1
1603 yield chnk 1603 yield chnk