--- a/mercurial/phases.py Mon Oct 08 16:55:00 2012 +0200
+++ b/mercurial/phases.py Wed Nov 21 00:53:45 2012 +0100
@@ -139,6 +139,7 @@
Return (roots, dirty) where dirty is true if roots differ from
what is being stored.
"""
+ repo = repo.unfiltered()
dirty = False
roots = [set() for i in allphases]
try:
@@ -184,6 +185,7 @@
def getphaserevs(self, repo, rebuild=False):
if rebuild or self._phaserevs is None:
+ repo = repo.unfiltered()
revs = [public] * len(repo.changelog)
for phase in trackedphases:
roots = map(repo.changelog.rev, self.phaseroots[phase])
@@ -228,6 +230,7 @@
# Be careful to preserve shallow-copied values: do not update
# phaseroots values, replace them.
+ repo = repo.unfiltered()
delroots = [] # set of root deleted by this path
for phase in xrange(targetphase + 1, len(allphases)):
# filter nodes that are not in a compatible phase already
@@ -251,6 +254,7 @@
# Be careful to preserve shallow-copied values: do not update
# phaseroots values, replace them.
+ repo = repo.unfiltered()
currentroots = self.phaseroots[targetphase]
newroots = [n for n in nodes
if self.phase(repo, repo[n].rev()) < targetphase]
@@ -316,6 +320,7 @@
def pushphase(repo, nhex, oldphasestr, newphasestr):
"""List phases root for serialization over pushkey"""
+ repo = repo.unfiltered()
lock = repo.lock()
try:
currentphase = repo[nhex].phase()
@@ -340,6 +345,7 @@
Accept unknown element input
"""
+ repo = repo.unfiltered()
# build list from dictionary
draftroots = []
nodemap = repo.changelog.nodemap # to filter unknown nodes
@@ -367,6 +373,7 @@
* `heads`: define the first subset
* `roots`: define the second we subtract from the first"""
+ repo = repo.unfiltered()
revset = repo.set('heads((%ln + parents(%ln)) - (%ln::%ln))',
heads, roots, roots, heads)
return [c.node() for c in revset]