Mercurial > public > mercurial-scm > hg-stable
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""" |