stack: extra argument validation logic outside of showstack
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Fri, 26 Aug 2016 12:37:52 +0200
changeset 1990 71410fa2c253
parent 1989 cf9414f2b5cd
child 1991 ba79d23594d6
stack: extra argument validation logic outside of showstack It seems sensible keep the 'showstack' function purely about actually displaying and existing stack.
hgext3rd/topic/__init__.py
hgext3rd/topic/stack.py
--- a/hgext3rd/topic/__init__.py	Tue Aug 23 21:18:47 2016 +0200
+++ b/hgext3rd/topic/__init__.py	Fri Aug 26 12:37:52 2016 +0200
@@ -196,6 +196,10 @@
     if list:
         if clear or change:
             raise error.Abort(_("cannot use --clear or --change with --list"))
+        if not topic:
+            topic = repo.currenttopic
+        if not topic:
+            raise error.Abort(_('no active topic to list'))
         return stack.showstack(ui, repo, topic, opts)
 
     if change:
@@ -275,6 +279,10 @@
     """list all changesets in a topic
 
     List the current topic by default."""
+    if not topic:
+        topic = repo.currenttopic
+    if not topic:
+        raise error.Abort(_('no active topic to list'))
     return stack.showstack(ui, repo, topic, opts)
 
 def _listtopics(ui, repo, opts):
--- a/hgext3rd/topic/stack.py	Tue Aug 23 21:18:47 2016 +0200
+++ b/hgext3rd/topic/stack.py	Fri Aug 26 12:37:52 2016 +0200
@@ -2,7 +2,6 @@
 #
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
-from mercurial.i18n import _
 from mercurial import (
     destutil,
     error,
@@ -16,10 +15,6 @@
     return _orderrevs(repo, trevs)
 
 def showstack(ui, repo, topic, opts):
-    if not topic:
-        topic = repo.currenttopic
-    if not topic:
-        raise error.Abort(_('no active topic to list'))
     fm = ui.formatter('topicstack', opts)
     prev = None
     entries = []