##// END OF EJS Templates
changegroup: add first logic to send file header...
Matt Mackall -
r13809:e6f79549 default
parent child Browse files
Show More
@@ -1554,14 +1554,8 b' class localrepository(repo.repository):'
1554 1554 # missing.
1555 1555 missingfnodes = fnodes.pop(fname, {})
1556 1556 prune(filerevlog, missingfnodes)
1557 # If any filenodes are left, generate the group for them,
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.
1557 first = True
1558
1565 1559 def flookup(revlog, x):
1566 1560 # even though we print the same progress on
1567 1561 # most loop iterations, put the progress call
@@ -1572,6 +1566,12 b' class localrepository(repo.repository):'
1572 1566 return missingfnodes[x]
1573 1567
1574 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 1575 yield chunk
1576 1576 # Signal that no more groups are left.
1577 1577 yield changegroup.closechunk()
@@ -1645,11 +1645,8 b' class localrepository(repo.repository):'
1645 1645 filerevlog = self.file(fname)
1646 1646 if not len(filerevlog):
1647 1647 raise util.Abort(_("empty or missing revlog for %s") % fname)
1648 first = True
1648 1649 nodeiter = gennodelst(filerevlog)
1649 nodeiter = list(nodeiter)
1650 if nodeiter:
1651 yield changegroup.chunkheader(len(fname))
1652 yield fname
1653 1650 def flookup(revlog, x):
1654 1651 self.ui.progress(
1655 1652 _('bundling'), idx, item=fname,
@@ -1657,6 +1654,12 b' class localrepository(repo.repository):'
1657 1654 return cl.node(revlog.linkrev(revlog.rev(x)))
1658 1655
1659 1656 for chunk in filerevlog.group(nodeiter, flookup):
1657 if first:
1658 if chunk == changegroup.closechunk():
1659 break
1660 yield changegroup.chunkheader(len(fname))
1661 yield fname
1662 first = False
1660 1663 yield chunk
1661 1664 self.ui.progress(_('bundling'), None)
1662 1665
General Comments 0
You need to be logged in to leave comments. Login now