topics: allow use a --current when setting a topic
authorPulkit Goyal <7895pulkit@gmail.com>
Mon, 28 Aug 2017 17:16:16 +0200
changeset 2869 b629874ccaac
parent 2868 e46b68547017
child 2870 fffdc8481d89
topics: allow use a --current when setting a topic This patch allow to use the current flag which can be used by user set existing revs to the current topic.
hgext3rd/topic/__init__.py
tests/test-topic.t
--- a/hgext3rd/topic/__init__.py	Mon Aug 28 17:35:44 2017 +0200
+++ b/hgext3rd/topic/__init__.py	Mon Aug 28 17:16:16 2017 +0200
@@ -338,6 +338,11 @@
 
     The active topic (if any) will be prepended with a "*".
 
+    The `--current` flag helps to take active topic into account. For
+    example, if you want to set the topic on all the draft changesets to the
+    active topic, you can do:
+        `hg topic -r "draft()" --current`
+
     The --verbose version of this command display various information on the state of each topic."""
 
     current = opts.get('current')
@@ -362,6 +367,8 @@
             raise error.Abort(_('must have obsolete enabled to change topics'))
         if clear:
             topic = None
+        elif opts.get('current'):
+            topic = repo.currenttopic
         elif not topic:
             raise error.Abort('changing topic requires a topic name or --clear')
         if any(not c.mutable() for c in repo.set('%r and public()', rev)):
--- a/tests/test-topic.t	Mon Aug 28 17:35:44 2017 +0200
+++ b/tests/test-topic.t	Mon Aug 28 17:16:16 2017 +0200
@@ -38,6 +38,10 @@
   
       The active topic (if any) will be prepended with a "*".
   
+      The '--current' flag helps to take active topic into account. For example,
+      if you want to set the topic on all the draft changesets to the active
+      topic, you can do: 'hg topic -r "draft()" --current'
+  
       The --verbose version of this command display various information on the
       state of each topic.
   
@@ -744,8 +748,10 @@
   |  summary:     start on fran
   |
 
-  $ hg topics --rev '13::19' changewat
-  switching to topic changewat
+Using the current flag
+
+  $ hg topic changewat
+  $ hg topics --rev '13::19' --current
   changed topic on 2 changes
 
   $ hg log -Gr 'draft()'