# HG changeset patch # User Brendan Cully # Date 1230054400 28800 # Node ID ec02cf8d16286551cdaf7d5fec51f0ef6c5aeef2 # Parent d42821cd5c96a1c326f581a25673a91b6a50cea7 mq: add --mq option to some commands This causes them to operate on the queue repository as qcommit does, and is nicer than hg -R $(hg root) diff -r d42821cd5c96 -r ec02cf8d1628 hgext/mq.py --- a/hgext/mq.py Sat Feb 06 20:24:51 2010 +0100 +++ b/hgext/mq.py Tue Dec 23 09:46:40 2008 -0800 @@ -2607,8 +2607,28 @@ kwargs.get('force')) return orig(ui, repo, *args, **kwargs) +def mqcommand(orig, ui, repo, *args, **kwargs): + """Add --mq option to operate on patch repository instead of main""" + + # some commands do not like getting unknown options + mq = kwargs['mq'] + del kwargs['mq'] + + if not mq: + return orig(ui, repo, *args, **kwargs) + + q = repo.mq + r = q.qrepo() + if not r: + raise util.Abort('no queue repository') + return orig(ui, r, *args, **kwargs) + def uisetup(ui): extensions.wrapcommand(commands.table, 'import', mqimport) + for cmd in ('commit', 'export', 'incoming', 'log', 'outgoing', 'pull', + 'push', 'status', 'tag', 'tags', 'tip', 'update'): + entry = extensions.wrapcommand(commands.table, cmd, mqcommand) + entry[1].extend([('Q', 'mq', None, _("operate on patch repository"))]) seriesopts = [('s', 'summary', None, _('print first line of patch header'))]