comparison mercurial/changegroup.py @ 39239:0617a700ef7b

changegroup: change topics during generation Changegroup generation and consumption currently uses different sets of topics. Generation uses "bundling" and consumption uses the name of the thing being consumed. This commit makes the topic and unit names consistent on both ends. The reason I chose to change the generation side is because when "bundling" is used for 3 different stages, it is unclear which stage of changegroup generation we're in. By making the topics "changesets," "manifests," and "files," one can get a better feel for how far along in the bundling process we are. Differential Revision: https://phab.mercurial-scm.org/D4272
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 10 Aug 2018 13:43:26 -0700
parents cc957b9dc335
children aad4b46e89bb
comparison
equal deleted inserted replaced
39238:cc957b9dc335 39239:0617a700ef7b
656 ellipsis=True, 656 ellipsis=True,
657 ) 657 )
658 658
659 def deltagroup(repo, store, nodes, ischangelog, lookup, forcedeltaparentprev, 659 def deltagroup(repo, store, nodes, ischangelog, lookup, forcedeltaparentprev,
660 allowreorder, 660 allowreorder,
661 units=None, 661 topic=None,
662 ellipses=False, clrevtolocalrev=None, fullclnodes=None, 662 ellipses=False, clrevtolocalrev=None, fullclnodes=None,
663 precomputedellipsis=None): 663 precomputedellipsis=None):
664 """Calculate deltas for a set of revisions. 664 """Calculate deltas for a set of revisions.
665 665
666 Is a generator of ``revisiondelta`` instances. 666 Is a generator of ``revisiondelta`` instances.
667 667
668 If units is not None, progress detail will be generated, units specifies 668 If topic is not None, progress detail will be generated using this
669 the type of revlog that is touched (changelog, manifest, etc.). 669 topic name (e.g. changesets, manifests, etc).
670 """ 670 """
671 if not nodes: 671 if not nodes:
672 return 672 return
673 673
674 # We perform two passes over the revisions whose data we will emit. 674 # We perform two passes over the revisions whose data we will emit.
741 )) 741 ))
742 742
743 # We expect the first pass to be fast, so we only engage the progress 743 # We expect the first pass to be fast, so we only engage the progress
744 # meter for constructing the revision deltas. 744 # meter for constructing the revision deltas.
745 progress = None 745 progress = None
746 if units is not None: 746 if topic is not None:
747 progress = repo.ui.makeprogress(_('bundling'), unit=units, 747 progress = repo.ui.makeprogress(topic, unit=_('chunks'),
748 total=len(requests)) 748 total=len(requests))
749 749
750 for i, delta in enumerate(store.emitrevisiondeltas(requests)): 750 for i, delta in enumerate(store.emitrevisiondeltas(requests)):
751 if progress: 751 if progress:
752 progress.update(i + 1) 752 progress.update(i + 1)
1000 self._repo, cl, nodes, True, lookupcl, 1000 self._repo, cl, nodes, True, lookupcl,
1001 self._forcedeltaparentprev, 1001 self._forcedeltaparentprev,
1002 # Reorder settings are currently ignored for changelog. 1002 # Reorder settings are currently ignored for changelog.
1003 True, 1003 True,
1004 ellipses=self._ellipses, 1004 ellipses=self._ellipses,
1005 units=_('changesets'), 1005 topic=_('changesets'),
1006 clrevtolocalrev={}, 1006 clrevtolocalrev={},
1007 fullclnodes=self._fullclnodes, 1007 fullclnodes=self._fullclnodes,
1008 precomputedellipsis=self._precomputedellipsis) 1008 precomputedellipsis=self._precomputedellipsis)
1009 1009
1010 return state, gen 1010 return state, gen
1081 1081
1082 deltas = deltagroup( 1082 deltas = deltagroup(
1083 self._repo, store, prunednodes, False, lookupfn, 1083 self._repo, store, prunednodes, False, lookupfn,
1084 self._forcedeltaparentprev, self._reorder, 1084 self._forcedeltaparentprev, self._reorder,
1085 ellipses=self._ellipses, 1085 ellipses=self._ellipses,
1086 units=_('manifests'), 1086 topic=_('manifests'),
1087 clrevtolocalrev=clrevtolocalrev, 1087 clrevtolocalrev=clrevtolocalrev,
1088 fullclnodes=self._fullclnodes, 1088 fullclnodes=self._fullclnodes,
1089 precomputedellipsis=self._precomputedellipsis) 1089 precomputedellipsis=self._precomputedellipsis)
1090 1090
1091 yield tree, deltas 1091 yield tree, deltas
1138 return links 1138 return links
1139 else: 1139 else:
1140 linknodes = normallinknodes 1140 linknodes = normallinknodes
1141 1141
1142 repo = self._repo 1142 repo = self._repo
1143 progress = repo.ui.makeprogress(_('bundling'), unit=_('files'), 1143 progress = repo.ui.makeprogress(_('files'), unit=_('files'),
1144 total=len(changedfiles)) 1144 total=len(changedfiles))
1145 for i, fname in enumerate(sorted(changedfiles)): 1145 for i, fname in enumerate(sorted(changedfiles)):
1146 filerevlog = repo.file(fname) 1146 filerevlog = repo.file(fname)
1147 if not filerevlog: 1147 if not filerevlog:
1148 raise error.Abort(_("empty or missing file data for %s") % 1148 raise error.Abort(_("empty or missing file data for %s") %