mercurial/localrepo.py
changeset 15706 ebaefd8c6028
parent 15659 7fba5a245acc
child 15735 5b384b7f48d5
--- a/mercurial/localrepo.py	Tue Dec 20 01:34:12 2011 +0100
+++ b/mercurial/localrepo.py	Tue Dec 20 01:31:25 2011 +0100
@@ -1251,8 +1251,15 @@
             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: