Patchwork phase: better error message when --force is needed

login
register
mail settings
Submitter Martin Geisler
Date Nov. 8, 2013, 10:49 a.m.
Message ID <72e506a075984c92325a.1383907761@go>
Download mbox | patch
Permalink /patch/2889/
State Accepted
Commit 1dee888b22f7fd4ee6bed29860ee8c57da08a552
Headers show

Comments

Martin Geisler - Nov. 8, 2013, 10:49 a.m.
# HG changeset patch
# User Martin Geisler <martin@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.
Matt Mackall - Nov. 22, 2013, 9:33 p.m.
On Fri, 2013-11-08 at 11:49 +0100, Martin Geisler wrote:
> # HG changeset patch
> # User Martin Geisler <martin@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

Queued for stable, thanks.

Patch

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]