# HG changeset patch # User Pierre-Yves David # Date 2011-12-20 00:31:25 # Node ID ebaefd8c6028fb2924292a02a09d14f64614a6f7 # Parent e34f4d1f0dbb0c4f1d2a1d81d202a796e044ecef Add a phases.new-commit option to control minimal phase of new commit this option is both intended for human and internal code usage. diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1251,8 +1251,15 @@ class localrepository(repo.repository): self.hook('pretxncommit', throw=True, node=hex(n), parent1=xp1, parent2=xp2, pending=p) self.changelog.finalize(trp) - # ensure the new commit is 1-phase - phases.retractboundary(self, 1, [n]) + # set the new commit is proper phase + targetphase = self.ui.configint('phases', 'new-commit', 1) + if targetphase: + # retract boundary do not alter parent changeset. + # if a parent have higher the resulting phase will + # be compliant anyway + # + # if minimal phase was 0 we don't need to retract anything + phases.retractboundary(self, targetphase, [n]) tr.close() if self._branchcache: