# HG changeset patch # User Alain Leufroy # Date 1315920949 -7200 # Node ID a5f6194eb05c9f712972499ff7a9adf3e7460f7b # Parent 757153438e58c0067da7021ac50afedb8927b528 [states] do not activate deactivated state with ``hg states --off `` previously: $ hg init alpha $ cd alpha $ hg states --off draft $ hg states published draft now: $ hg init alpha $ cd alpha $ hg states --off draft $ hg states published diff --git a/hgext/states.py b/hgext/states.py --- a/hgext/states.py +++ b/hgext/states.py @@ -517,8 +517,13 @@ else: ui.write_err(_('no state named %s\n') % state_name) return 1 - if off and st in repo._enabledstates: - repo._enabledstates.remove(st) + if off: + if st in repo._enabledstates: + repo._enabledstates.remove(st) + else: + ui.write_err(_('state %s already deactivated\n') % + state_name) + else: repo._enabledstates.add(st) repo._writeenabledstates() diff --git a/tests/test-states.t b/tests/test-states.t --- a/tests/test-states.t +++ b/tests/test-states.t @@ -35,3 +35,9 @@ $ hg -R ../other states published +do nothing if state already deactivated + $ hg states --off draft + state draft already deactivated + $ hg states + published + ready