# HG changeset patch # User Gregory Szorc # Date 1533326513 25200 # Node ID 379d90327861ff115303970176a3c0d3b0d690a2 # Parent cdb9bc216771d399821f72fe241c374c27566284 changegroup: move changelogdone into cgpacker Looking at what it is used for, it feels like there is a better way to implement all this. So recording a TODO to track that. Differential Revision: https://phab.mercurial-scm.org/D4087 diff -r cdb9bc216771 -r 379d90327861 mercurial/changegroup.py --- a/mercurial/changegroup.py Fri Aug 03 12:57:11 2018 -0700 +++ b/mercurial/changegroup.py Fri Aug 03 13:01:53 2018 -0700 @@ -579,13 +579,17 @@ else: self._verbosenote = lambda s: None + # TODO the functionality keyed off of this should probably be + # controlled via arguments to group() that influence behavior. + self._changelogdone = False + def _close(self): # Ellipses serving mode. getattr(self, '_clrev_to_localrev', {}).clear() if getattr(self, '_next_clrev_to_localrev', {}): self._clrev_to_localrev = self._next_clrev_to_localrev del self._next_clrev_to_localrev - self._changelog_done = True + self._changelogdone = True return closechunk() @@ -1058,7 +1062,7 @@ def _revisiondeltanarrow(self, store, rev, prev, linknode): # build up some mapping information that's useful later. See # the local() nested function below. - if not self._changelog_done: + if not self._changelogdone: self._clnode_to_rev[linknode] = rev linkrev = rev self._clrev_to_localrev[linkrev] = rev @@ -1090,7 +1094,7 @@ if clrev == nullrev: return nullrev - if not self._changelog_done: + if not self._changelogdone: # If we're doing the changelog, it's possible that we # have a parent that is already on the client, and we # need to store some extra mapping information so that @@ -1403,6 +1407,5 @@ # Maps changelog nodes to changelog revs. Filled in once # during changelog stage and then left unmodified. packer._clnode_to_rev = {} - packer._changelog_done = False return packer.generate(common, visitnodes, False, source)