topic: only require obsolete support for --change
authorMatt Mackall <mpm@selenic.com>
Wed, 10 Jun 2015 17:40:50 -0500
changeset 1851 67d53e8e0c1a
parent 1850 0da6bf86b718
child 1852 3084687f7994
topic: only require obsolete support for --change
src/topic/__init__.py
tests/test-topic.t
--- a/src/topic/__init__.py	Wed Jun 10 17:13:15 2015 -0500
+++ b/src/topic/__init__.py	Wed Jun 10 17:40:50 2015 -0500
@@ -71,10 +71,9 @@
 ])
 def topics(ui, repo, topic=None, clear=False, change=None):
     """View current topic, set current topic, or see all topics."""
-    if not obsolete.isenabled(repo, obsolete.createmarkersopt):
-        raise util.Abort('current reality means you should only '
-                         'use topic with obsolete enabled')
     if change:
+        if not obsolete.isenabled(repo, obsolete.createmarkersopt):
+            raise util.Abort(_('must have obsolete enabled to use --change'))
         if topic is None and not clear:
             raise util.Abort('changing topic requires a topic name or --clear')
         if any(not c.mutable() for c in repo.set('%r and public()', change)):
--- a/tests/test-topic.t	Wed Jun 10 17:13:15 2015 -0500
+++ b/tests/test-topic.t	Wed Jun 10 17:40:50 2015 -0500
@@ -20,6 +20,15 @@
   (some details hidden, use --verbose to show complete help)
   $ hg topics
 
+Test topics interaction with evolution:
+
+  $ hg topics --config experimental.evolution=
+  $ hg topics --config experimental.evolution= --change . bob
+  abort: must have obsolete enabled to use --change
+  [255]
+
+Create some changes:
+
   $ for x in alpha beta gamma delta ; do
   >   echo file $x >> $x
   >   hg addremove