Mercurial > public > mercurial-scm > hg-stable
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 |