Show More
@@ -1554,25 +1554,25 b' class localrepository(repo.repository):' | |||||
1554 | # missing. |
|
1554 | # missing. | |
1555 | missingfnodes = fnodes.pop(fname, {}) |
|
1555 | missingfnodes = fnodes.pop(fname, {}) | |
1556 | prune(filerevlog, missingfnodes) |
|
1556 | prune(filerevlog, missingfnodes) | |
1557 | # If any filenodes are left, generate the group for them, |
|
1557 | first = True | |
1558 | # otherwise don't bother. |
|
|||
1559 | if missingfnodes: |
|
|||
1560 | yield changegroup.chunkheader(len(fname)) |
|
|||
1561 | yield fname |
|
|||
1562 | # Create a group generator and only pass in a changenode |
|
|||
1563 | # lookup function as we need to collect no information |
|
|||
1564 | # from filenodes. |
|
|||
1565 | def flookup(revlog, x): |
|
|||
1566 | # even though we print the same progress on |
|
|||
1567 | # most loop iterations, put the progress call |
|
|||
1568 | # here so that time estimates (if any) can be updated |
|
|||
1569 | self.ui.progress( |
|
|||
1570 | _('bundling'), idx, item=fname, |
|
|||
1571 | unit=_('files'), total=efiles) |
|
|||
1572 | return missingfnodes[x] |
|
|||
1573 |
|
1558 | |||
1574 | for chunk in filerevlog.group(missingfnodes, flookup): |
|
1559 | def flookup(revlog, x): | |
1575 | yield chunk |
|
1560 | # even though we print the same progress on | |
|
1561 | # most loop iterations, put the progress call | |||
|
1562 | # here so that time estimates (if any) can be updated | |||
|
1563 | self.ui.progress( | |||
|
1564 | _('bundling'), idx, item=fname, | |||
|
1565 | unit=_('files'), total=efiles) | |||
|
1566 | return missingfnodes[x] | |||
|
1567 | ||||
|
1568 | for chunk in filerevlog.group(missingfnodes, flookup): | |||
|
1569 | if first: | |||
|
1570 | if chunk == changegroup.closechunk(): | |||
|
1571 | break | |||
|
1572 | yield changegroup.chunkheader(len(fname)) | |||
|
1573 | yield fname | |||
|
1574 | first = False | |||
|
1575 | yield chunk | |||
1576 | # Signal that no more groups are left. |
|
1576 | # Signal that no more groups are left. | |
1577 | yield changegroup.closechunk() |
|
1577 | yield changegroup.closechunk() | |
1578 | self.ui.progress(_('bundling'), None) |
|
1578 | self.ui.progress(_('bundling'), None) | |
@@ -1645,19 +1645,22 b' class localrepository(repo.repository):' | |||||
1645 | filerevlog = self.file(fname) |
|
1645 | filerevlog = self.file(fname) | |
1646 | if not len(filerevlog): |
|
1646 | if not len(filerevlog): | |
1647 | raise util.Abort(_("empty or missing revlog for %s") % fname) |
|
1647 | raise util.Abort(_("empty or missing revlog for %s") % fname) | |
|
1648 | first = True | |||
1648 | nodeiter = gennodelst(filerevlog) |
|
1649 | nodeiter = gennodelst(filerevlog) | |
1649 | nodeiter = list(nodeiter) |
|
1650 | def flookup(revlog, x): | |
1650 | if nodeiter: |
|
1651 | self.ui.progress( | |
1651 | yield changegroup.chunkheader(len(fname)) |
|
1652 | _('bundling'), idx, item=fname, | |
1652 | yield fname |
|
1653 | total=efiles, unit=_('files')) | |
1653 | def flookup(revlog, x): |
|
1654 | return cl.node(revlog.linkrev(revlog.rev(x))) | |
1654 | self.ui.progress( |
|
|||
1655 | _('bundling'), idx, item=fname, |
|
|||
1656 | total=efiles, unit=_('files')) |
|
|||
1657 | return cl.node(revlog.linkrev(revlog.rev(x))) |
|
|||
1658 |
|
1655 | |||
1659 |
|
|
1656 | for chunk in filerevlog.group(nodeiter, flookup): | |
1660 |
|
|
1657 | if first: | |
|
1658 | if chunk == changegroup.closechunk(): | |||
|
1659 | break | |||
|
1660 | yield changegroup.chunkheader(len(fname)) | |||
|
1661 | yield fname | |||
|
1662 | first = False | |||
|
1663 | yield chunk | |||
1661 | self.ui.progress(_('bundling'), None) |
|
1664 | self.ui.progress(_('bundling'), None) | |
1662 |
|
1665 | |||
1663 | yield changegroup.closechunk() |
|
1666 | yield changegroup.closechunk() |
General Comments 0
You need to be logged in to leave comments.
Login now