[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