##// END OF EJS Templates
pull: pre-filter remote phases before moving local ones...
Pierre-Yves David -
r22068:d34058dd default
parent child Browse files
Show More
@@ -825,14 +825,27 b' def _pullapplyphases(pullop, remotephase'
825 pheads, _dr = phases.analyzeremotephases(pullop.repo,
825 pheads, _dr = phases.analyzeremotephases(pullop.repo,
826 pullop.pulledsubset,
826 pullop.pulledsubset,
827 remotephases)
827 remotephases)
828 phases.advanceboundary(pullop.repo, phases.public, pheads)
828 dheads = pullop.pulledsubset
829 phases.advanceboundary(pullop.repo, phases.draft,
830 pullop.pulledsubset)
831 else:
829 else:
832 # Remote is old or publishing all common changesets
830 # Remote is old or publishing all common changesets
833 # should be seen as public
831 # should be seen as public
834 phases.advanceboundary(pullop.repo, phases.public,
832 pheads = pullop.pulledsubset
835 pullop.pulledsubset)
833 dheads = []
834 unfi = pullop.repo.unfiltered()
835 phase = unfi._phasecache.phase
836 rev = unfi.changelog.nodemap.get
837 public = phases.public
838 draft = phases.draft
839
840 # exclude changesets already public locally and update the others
841 pheads = [pn for pn in pheads if phase(unfi, rev(pn)) > public]
842 if pheads:
843 phases.advanceboundary(pullop.repo, public, pheads)
844
845 # exclude changesets already draft locally and update the others
846 dheads = [pn for pn in dheads if phase(unfi, rev(pn)) > draft]
847 if dheads:
848 phases.advanceboundary(pullop.repo, draft, dheads)
836
849
837 def _pullobsolete(pullop):
850 def _pullobsolete(pullop):
838 """utility function to pull obsolete markers from a remote
851 """utility function to pull obsolete markers from a remote
General Comments 0
You need to be logged in to leave comments. Login now