phabricator: make `hg debugcallconduit` work outside a hg repo
authorPulkit Goyal <pulkit@yandex-team.ru>
Sat, 08 Jun 2019 18:48:06 +0300
changeset 42435 16312ea45a8b
parent 42434 f163e2b2594c
child 42436 dc5bd66a8270
phabricator: make `hg debugcallconduit` work outside a hg repo I am trying to write some automations around phabricator and having debugcallconduit work outside a hg repo will be nice! Marking command as optionalrepo instead of norepo because we might to load repo/.hg/hgrc. Differential Revision: https://phab.mercurial-scm.org/D6499
hgext/phabricator.py
--- a/hgext/phabricator.py	Sat Jun 08 18:41:15 2019 +0300
+++ b/hgext/phabricator.py	Sat Jun 08 18:48:06 2019 +0300
@@ -125,7 +125,7 @@
      )),
 ]
 
-def vcrcommand(name, flags, spec, helpcategory=None):
+def vcrcommand(name, flags, spec, helpcategory=None, optionalrepo=False):
     fullflags = flags + _VCR_FLAGS
     def hgmatcher(r1, r2):
         if r1.uri != r2.uri or r1.method != r2.method:
@@ -156,7 +156,8 @@
             return fn(*args, **kwargs)
         inner.__name__ = fn.__name__
         inner.__doc__ = fn.__doc__
-        return command(name, fullflags, spec, helpcategory=helpcategory)(inner)
+        return command(name, fullflags, spec, helpcategory=helpcategory,
+                       optionalrepo=optionalrepo)(inner)
     return decorate
 
 def urlencodenested(params):
@@ -242,7 +243,7 @@
         raise error.Abort(msg)
     return parsed[b'result']
 
-@vcrcommand(b'debugcallconduit', [], _(b'METHOD'))
+@vcrcommand(b'debugcallconduit', [], _(b'METHOD'), optionalrepo=True)
 def debugcallconduit(ui, repo, name):
     """call Conduit API