# HG changeset patch # User Gregory Szorc # Date 1399267200 25200 # Node ID 17d1ac452127c66674a208f3a653c792e7084d3e # Parent c4633e287c56c3d588ab6f36786b92d35b1975cc cmdutil: support inferrepo in command decorator diff -r c4633e287c56 -r 17d1ac452127 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Sun May 04 22:16:56 2014 -0700 +++ b/mercurial/cmdutil.py Sun May 04 22:20:00 2014 -0700 @@ -2496,8 +2496,14 @@ The optionalrepo argument defines whether the command optionally requires a local repository. + + The inferrepo argument defines whether to try to find a repository from the + command line arguments. If True, arguments will be examined for potential + repository locations. See ``findrepo()``. If a repository is found, it + will be used. """ - def cmd(name, options=(), synopsis=None, norepo=False, optionalrepo=False): + def cmd(name, options=(), synopsis=None, norepo=False, optionalrepo=False, + inferrepo=False): def decorator(func): if synopsis: table[name] = func, list(options), synopsis @@ -2513,6 +2519,10 @@ import commands commands.optionalrepo += ' %s' % ' '.join(parsealiases(name)) + if inferrepo: + import commands + commands.inferrepo += ' %s' % ' '.join(parsealiases(name)) + return func return decorator