topics: return a parse error if stack() revset is passed with argument
authorPulkit Goyal <7895pulkit@gmail.com>
Thu, 29 Jun 2017 01:58:26 +0530
changeset 2681 aa4db71a6224
parent 2680 d5eb5269128a
child 2682 a6e3c2fcb1d7
topics: return a parse error if stack() revset is passed with argument
hgext3rd/topic/revset.py
tests/test-topic-stack.t
--- a/hgext3rd/topic/revset.py	Thu Jun 29 00:11:07 2017 +0530
+++ b/hgext3rd/topic/revset.py	Thu Jun 29 01:58:26 2017 +0530
@@ -71,6 +71,8 @@
     This is roughly equivalent to 'topic(.) - obsolete' with a sorting moving
     unstable changeset after there future parent (as if evolve where already
     run)."""
+    err = 'stack() takes no argument, it works on current topic'
+    revset.getargs(x, 0, 0, err)
     topic = repo.currenttopic
     if not topic:
         raise error.Abort(_('no active topic to list'))
--- a/tests/test-topic-stack.t	Thu Jun 29 00:11:07 2017 +0530
+++ b/tests/test-topic-stack.t	Thu Jun 29 01:58:26 2017 +0530
@@ -216,6 +216,14 @@
   4 default {foo} draft c_e
   5 default {foo} draft c_f
 
+  $ hg log -r 'stack(foo)'
+  hg: parse error: stack() takes no argument, it works on current topic
+  [255]
+
+  $ hg log -r 'stack(foobar)'
+  hg: parse error: stack() takes no argument, it works on current topic
+  [255]
+
 Case with multiple heads on the topic
 -------------------------------------