D4136: changegroup: record changelogdone after fully consuming its data

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Mon Aug 6 19:51:32 UTC 2018


indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Setting this as a side-effect of calling _close() is wonky. There's
  only one group for changelog data. So we can wait until after all
  data has been emitted before recording it.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4136

AFFECTED FILES
  mercurial/changegroup.py

CHANGE DETAILS

diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -607,7 +607,6 @@
         if self._nextclrevtolocalrev:
             self.clrevtolocalrev = self._nextclrevtolocalrev
             self._nextclrevtolocalrev.clear()
-        self._changelogdone = True
 
         return closechunk()
 
@@ -730,6 +729,8 @@
 
         self._verbosenote(_('%8.i (changelog)\n') % size)
 
+        self._changelogdone = True
+
         clrevorder = clstate['clrevorder']
         mfs = clstate['mfs']
         changedfiles = clstate['changedfiles']



To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list