Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 13811:65c1d309ab91
changegroup: remove nodeiter temporary
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 31 Mar 2011 09:56:27 -0500 |
parents | 0252abaafb8a |
children | 2b70683888b9 |
comparison
equal
deleted
inserted
replaced
13810:0252abaafb8a | 13811:65c1d309ab91 |
---|---|
1619 efiles = len(changedfiles) | 1619 efiles = len(changedfiles) |
1620 changecount = count[0] | 1620 changecount = count[0] |
1621 self.ui.progress(_('bundling'), None) | 1621 self.ui.progress(_('bundling'), None) |
1622 | 1622 |
1623 mnfst = self.manifest | 1623 mnfst = self.manifest |
1624 nodeiter = gennodelst(mnfst) | |
1625 count = [0] | 1624 count = [0] |
1626 def mlookup(revlog, x): | 1625 def mlookup(revlog, x): |
1627 count[0] += 1 | 1626 count[0] += 1 |
1628 self.ui.progress(_('bundling'), count[0], | 1627 self.ui.progress(_('bundling'), count[0], |
1629 unit=_('manifests'), total=changecount) | 1628 unit=_('manifests'), total=changecount) |
1630 return cl.node(revlog.linkrev(revlog.rev(x))) | 1629 return cl.node(revlog.linkrev(revlog.rev(x))) |
1631 | 1630 |
1632 for chunk in mnfst.group(nodeiter, mlookup): | 1631 for chunk in mnfst.group(gennodelst(mnfst), mlookup): |
1633 yield chunk | 1632 yield chunk |
1634 self.ui.progress(_('bundling'), None) | 1633 self.ui.progress(_('bundling'), None) |
1635 | 1634 |
1636 for idx, fname in enumerate(sorted(changedfiles)): | 1635 for idx, fname in enumerate(sorted(changedfiles)): |
1637 filerevlog = self.file(fname) | 1636 filerevlog = self.file(fname) |
1638 if not len(filerevlog): | 1637 if not len(filerevlog): |
1639 raise util.Abort(_("empty or missing revlog for %s") % fname) | 1638 raise util.Abort(_("empty or missing revlog for %s") % fname) |
1640 first = True | 1639 first = True |
1641 nodeiter = gennodelst(filerevlog) | |
1642 def flookup(revlog, x): | 1640 def flookup(revlog, x): |
1643 self.ui.progress( | 1641 self.ui.progress( |
1644 _('bundling'), idx, item=fname, | 1642 _('bundling'), idx, item=fname, |
1645 total=efiles, unit=_('files')) | 1643 total=efiles, unit=_('files')) |
1646 return cl.node(revlog.linkrev(revlog.rev(x))) | 1644 return cl.node(revlog.linkrev(revlog.rev(x))) |
1647 | 1645 |
1648 for chunk in filerevlog.group(nodeiter, flookup): | 1646 for chunk in filerevlog.group(gennodelst(filerevlog), flookup): |
1649 if first: | 1647 if first: |
1650 if chunk == changegroup.closechunk(): | 1648 if chunk == changegroup.closechunk(): |
1651 break | 1649 break |
1652 yield changegroup.chunkheader(len(fname)) | 1650 yield changegroup.chunkheader(len(fname)) |
1653 yield fname | 1651 yield fname |