Параметр --mq
влияет на все команды, которые принимают репозиторий в качестве аргумента - он фактически меняет целевое хранилище на $(hg root)/.hg/patches
, поэтому он фактически аналогичен выполнению любой команды mercurial, подобной этой:
hg --repository $(hg root)/.hg/patches ....
В результате каждая команда, имеющая параметр -R/--repository
, имеет параметр --mq и не нуждается в изменении для ее получения.Любая команда, которую вы ранее использовали в Mercurial: коммит, push, pull, summary, id и т. Д., Может занять --mq
.Вот соответствующий код Python:
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.pop('mq', None)
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(r.ui, r, *args, **kwargs)