equal
deleted
inserted
replaced
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 |