mq: add -Q option to all commands not in norepo
authorBrendan Cully <brendan@kublai.com>
Mon, 08 Feb 2010 10:23:44 +0100
changeset 10401 6252852b4332
parent 10400 fb203201ce30
child 10402 d216fa04e48a
mq: add -Q option to all commands not in norepo
hgext/mq.py
mercurial/cmdutil.py
--- a/hgext/mq.py	Sun Feb 07 23:07:58 2010 +0100
+++ b/hgext/mq.py	Mon Feb 08 10:23:44 2010 +0100
@@ -2638,8 +2638,10 @@
 
 def uisetup(ui):
     extensions.wrapcommand(commands.table, 'import', mqimport)
-    for cmd in ('commit', 'export', 'incoming', 'log', 'outgoing', 'pull',
-                'push', 'status', 'tag', 'tags', 'tip', 'update'):
+    for cmd in commands.table:
+        cmd = cmdutil.parsealiases(cmd)[0]
+        if cmd in commands.norepo:
+            continue
         entry = extensions.wrapcommand(commands.table, cmd, mqcommand)
         entry[1].extend([('Q', 'mq', None, _("operate on patch repository"))])
 
--- a/mercurial/cmdutil.py	Sun Feb 07 23:07:58 2010 +0100
+++ b/mercurial/cmdutil.py	Mon Feb 08 10:23:44 2010 +0100
@@ -13,6 +13,9 @@
 
 revrangesep = ':'
 
+def parsealiases(cmd):
+    return cmd.lstrip("^").split("|")
+
 def findpossible(cmd, table, strict=False):
     """
     Return cmd -> (aliases, command table entry)
@@ -22,7 +25,7 @@
     choice = {}
     debugchoice = {}
     for e in table.keys():
-        aliases = e.lstrip("^").split("|")
+        aliases = parsealiases(e)
         found = None
         if cmd in aliases:
             found = cmd