# HG changeset patch # User Augie Fackler # Date 1444849913 14400 # Node ID 04176eaf911b79c07a79b29bef39f9ded868b4d7 # Parent 0ef0aec56090e67983d4ab4810e51c24a67f07b2 changegroup: move manifest unpacking into its own method The upcoming cg3 will need different logic for unpacking manifests. diff -r 0ef0aec56090 -r 04176eaf911b mercurial/changegroup.py --- a/mercurial/changegroup.py Thu Oct 01 15:35:10 2015 -0400 +++ b/mercurial/changegroup.py Wed Oct 14 15:11:53 2015 -0400 @@ -287,6 +287,18 @@ pos = next yield closechunk() + def _unpackmanifests(self, repo, revmap, trp, prog, numchanges): + # We know that we'll never have more manifests than we had + # changesets. + self.callback = prog(_('manifests'), numchanges) + # no need to check for empty manifest group here: + # if the result of the merge of 1 and 2 is the same in 3 and 4, + # no new manifest will be created and the manifest group will + # be empty during the pull + self.manifestheader() + repo.manifest.addgroup(self, revmap, trp) + repo.ui.progress(_('manifests'), None) + def apply(self, repo, srctype, url, emptyok=False, targetphase=phases.draft, expectedtotal=None): """Add the changegroup returned by source.read() to this repo. @@ -357,15 +369,7 @@ # pull off the manifest group repo.ui.status(_("adding manifests\n")) - # manifests <= changesets - self.callback = prog(_('manifests'), changesets) - # no need to check for empty manifest group here: - # if the result of the merge of 1 and 2 is the same in 3 and 4, - # no new manifest will be created and the manifest group will - # be empty during the pull - self.manifestheader() - repo.manifest.addgroup(self, revmap, trp) - repo.ui.progress(_('manifests'), None) + self._unpackmanifests(repo, revmap, trp, prog, changesets) needfiles = {} if repo.ui.configbool('server', 'validate', default=False):