diff -r e06daad65f85 -r 936b0ff34346 mercurial/phases.py --- a/mercurial/phases.py Sun Sep 28 21:27:48 2014 -0700 +++ b/mercurial/phases.py Fri Oct 17 22:23:06 2014 -0700 @@ -100,6 +100,7 @@ """ +import os import errno from node import nullid, nullrev, bin, hex, short from i18n import _ @@ -124,7 +125,15 @@ dirty = False roots = [set() for i in allphases] try: - f = repo.sopener('phaseroots') + f = None + if 'HG_PENDING' in os.environ: + try: + f = repo.svfs('phaseroots.pending') + except IOError, inst: + if inst.errno != errno.ENOENT: + raise + if f is None: + f = repo.sopener('phaseroots') try: for line in f: phase, nh = line.split()