##// END OF EJS Templates
changegroup: fold linkrev helper into lookup functions
Matt Mackall -
r13788:307c7268 default
parent child Browse files
Show More
@@ -1610,11 +1610,6 b' class localrepository(repo.repository):'
1610 if log.linkrev(r) in revset:
1610 if log.linkrev(r) in revset:
1611 yield log.node(r)
1611 yield log.node(r)
1612
1612
1613 def lookuplinkrev_func(revlog):
1614 def lookuplinkrev(n):
1615 return cl.node(revlog.linkrev(revlog.rev(n)))
1616 return lookuplinkrev
1617
1618 def gengroup():
1613 def gengroup():
1619 '''yield a sequence of changegroup chunks (strings)'''
1614 '''yield a sequence of changegroup chunks (strings)'''
1620 # construct a list of all changed files
1615 # construct a list of all changed files
@@ -1638,13 +1633,12 b' class localrepository(repo.repository):'
1638
1633
1639 mnfst = self.manifest
1634 mnfst = self.manifest
1640 nodeiter = gennodelst(mnfst)
1635 nodeiter = gennodelst(mnfst)
1641 mfunc = lookuplinkrev_func(mnfst)
1642 count = [0]
1636 count = [0]
1643 def mlookup(revlog, x):
1637 def mlookup(revlog, x):
1644 count[0] += 1
1638 count[0] += 1
1645 self.ui.progress(_('bundling'), count[0],
1639 self.ui.progress(_('bundling'), count[0],
1646 unit=_('manifests'), total=changecount)
1640 unit=_('manifests'), total=changecount)
1647 return mfunc(x)
1641 return cl.node(revlog.linkrev(revlog.rev(x)))
1648
1642
1649 for chunk in mnfst.group(nodeiter, mlookup):
1643 for chunk in mnfst.group(nodeiter, mlookup):
1650 yield chunk
1644 yield chunk
@@ -1659,12 +1653,11 b' class localrepository(repo.repository):'
1659 if nodeiter:
1653 if nodeiter:
1660 yield changegroup.chunkheader(len(fname))
1654 yield changegroup.chunkheader(len(fname))
1661 yield fname
1655 yield fname
1662 ffunc = lookuplinkrev_func(filerevlog)
1663 def flookup(revlog, x):
1656 def flookup(revlog, x):
1664 self.ui.progress(
1657 self.ui.progress(
1665 _('bundling'), idx, item=fname,
1658 _('bundling'), idx, item=fname,
1666 total=efiles, unit=_('files'))
1659 total=efiles, unit=_('files'))
1667 return ffunc(x)
1660 return cl.node(revlog.linkrev(revlog.rev(x)))
1668
1661
1669 for chunk in filerevlog.group(nodeiter, flookup):
1662 for chunk in filerevlog.group(nodeiter, flookup):
1670 yield chunk
1663 yield chunk
General Comments 0
You need to be logged in to leave comments. Login now