comparison mercurial/context.py @ 16359:a1b6a63f9f39 stable

context: make changectx.mutable() benefit from .phase() logic This fixes "hg qimport -r null". Previous versions used to: - Traceback because null revision mutability was not defined - Add an empty -1.diff patch to the series The error message: abort: revision -1 is not mutable is symptomatic of a deeper problem in phase command revision handling. It could be fixed easily in the command itself but I feel a better fix must be done in phase API which raises the issue of phase updates atomicity: aborting in phases.advanceboundary/retractboundary requires a better rollback behaviour to avoid partial changes.
author Patrick Mezard <patrick@mezard.eu>
date Thu, 05 Apr 2012 19:15:23 +0200
parents 616c2e278f18
children 329887a7074c
comparison
equal deleted inserted replaced
16345:825565136235 16359:a1b6a63f9f39
125 del self._repo._phaserev 125 del self._repo._phaserev
126 return self._repo._phaserev[self._rev] 126 return self._repo._phaserev[self._rev]
127 def phasestr(self): 127 def phasestr(self):
128 return phases.phasenames[self.phase()] 128 return phases.phasenames[self.phase()]
129 def mutable(self): 129 def mutable(self):
130 return self._repo._phaserev[self._rev] > phases.public 130 return self.phase() > phases.public
131 def hidden(self): 131 def hidden(self):
132 return self._rev in self._repo.changelog.hiddenrevs 132 return self._rev in self._repo.changelog.hiddenrevs
133 133
134 def parents(self): 134 def parents(self):
135 """return contexts for each parent changeset""" 135 """return contexts for each parent changeset"""