[PATCH] phase: better error message when --force is needed

Martin Geisler martin at geisler.net
Fri Nov 8 04:49:21 CST 2013


# HG changeset patch
# User Martin Geisler <martin at geisler.net>
# Date 1383907753 -3600
#      Fri Nov 08 11:49:13 2013 +0100
# Branch stable
# Node ID 72e506a075984c92325a986eb59513ef60229003
# Parent  ba6486076429e5c20d910b8a5d4f8acf1e9dc1b1
phase: better error message when --force is needed

When trying to turn a draft changeset into a secret changeset, I was
told:

  % hg phase -s .
  cannot move 1 changesets to a more permissive phase, use --force
  no phases changed

That message struck me as being backwards -- the secret phase feels
less permissive to me since it restricts the changesets from being
pushed.

We don't use the word "permissive" elsewhere, 'hg help phase' talks
about "lower phases" and "higher phases". I therefore reformulated the
error message to be

  cannot move 1 changesets to a higher phase, use --force

That is not perfect either, but more in line with the help text. An
alternative could be

  cannot move phase backwards for 1 changesets, use --force

which fits better with the help text for --force.

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -4505,7 +4505,7 @@
         rejected = [n for n in nodes
                     if newdata[cl.rev(n)] < targetphase]
         if rejected:
-            ui.warn(_('cannot move %i changesets to a more permissive '
+            ui.warn(_('cannot move %i changesets to a higher '
                       'phase, use --force\n') % len(rejected))
             ret = 1
         if changes:
diff --git a/tests/test-phases.t b/tests/test-phases.t
--- a/tests/test-phases.t
+++ b/tests/test-phases.t
@@ -482,7 +482,7 @@
 
   $ hg phase --public 7
   $ hg phase --draft '5 or 7'
-  cannot move 1 changesets to a more permissive phase, use --force
+  cannot move 1 changesets to a higher phase, use --force
   phase changed for 1 changesets
   [1]
   $ hg log -G --template "{rev} {phase} {desc}\n"
@@ -506,7 +506,7 @@
 test complete failure
 
   $ hg phase --draft 7
-  cannot move 1 changesets to a more permissive phase, use --force
+  cannot move 1 changesets to a higher phase, use --force
   no phases changed
   [1]
 


More information about the Mercurial-devel mailing list