# HG changeset patch # User Pierre-Yves David # Date 1391160356 28800 # Node ID 0c469df6e9149b8231b827f9ee3944e9cd52da22 # Parent de2544933139de731f097ee98b7604e01d135bf6 pull: move phases synchronisation in its own function Now that every necessary information is held in the `pulloperation` object, we can finally extract the phase synchronisation phase to it's own function. This changeset is pure code movement only. diff -r de2544933139 -r 0c469df6e914 mercurial/exchange.py --- a/mercurial/exchange.py Fri Jan 31 01:21:42 2014 -0800 +++ b/mercurial/exchange.py Fri Jan 31 01:25:56 2014 -0800 @@ -473,23 +473,7 @@ subset = pullop.heads pullop.pulledsubset = subset - # Get remote phases data from remote - remotephases = pullop.remote.listkeys('phases') - publishing = bool(remotephases.get('publishing', False)) - if remotephases and not publishing: - # remote is new and unpublishing - pheads, _dr = phases.analyzeremotephases(pullop.repo, - pullop.pulledsubset, - remotephases) - phases.advanceboundary(pullop.repo, phases.public, pheads) - phases.advanceboundary(pullop.repo, phases.draft, - pullop.pulledsubset) - else: - # Remote is old or publishing all common changesets - # should be seen as public - phases.advanceboundary(pullop.repo, phases.public, - pullop.pulledsubset) - + _pullphase(pullop) _pullobsolete(pullop) pullop.closetransaction() finally: @@ -498,6 +482,24 @@ return result +def _pullphase(pullop): + # Get remote phases data from remote + remotephases = pullop.remote.listkeys('phases') + publishing = bool(remotephases.get('publishing', False)) + if remotephases and not publishing: + # remote is new and unpublishing + pheads, _dr = phases.analyzeremotephases(pullop.repo, + pullop.pulledsubset, + remotephases) + phases.advanceboundary(pullop.repo, phases.public, pheads) + phases.advanceboundary(pullop.repo, phases.draft, + pullop.pulledsubset) + else: + # Remote is old or publishing all common changesets + # should be seen as public + phases.advanceboundary(pullop.repo, phases.public, + pullop.pulledsubset) + def _pullobsolete(pullop): """utility function to pull obsolete markers from a remote