mercurial/commands.py
changeset 37716 dfc51a482031
parent 37684 5fc502e149f1
child 37756 e7bf5a73e4e1
--- a/mercurial/commands.py	Sat Apr 14 11:20:38 2018 -0400
+++ b/mercurial/commands.py	Sat Apr 14 09:23:48 2018 -0700
@@ -73,7 +73,7 @@
 table.update(debugcommandsmod.command._table)
 
 command = registrar.command(table)
-readonly = registrar.command.readonly
+INTENT_READONLY = registrar.INTENT_READONLY
 
 # common command options
 
@@ -1083,7 +1083,8 @@
       _('show only branches that have unmerged heads (DEPRECATED)')),
      ('c', 'closed', False, _('show normal and closed branches')),
     ] + formatteropts,
-    _('[-c]'), cmdtype=readonly)
+    _('[-c]'),
+    intents={INTENT_READONLY})
 def branches(ui, repo, active=False, closed=False, **opts):
     """list repository named branches
 
@@ -1282,7 +1283,8 @@
     ('', 'decode', None, _('apply any matching decode filter')),
     ] + walkopts + formatteropts,
     _('[OPTION]... FILE...'),
-    inferrepo=True, cmdtype=readonly)
+    inferrepo=True,
+    intents={INTENT_READONLY})
 def cat(ui, repo, file1, *pats, **opts):
     """output the current or given revision of files
 
@@ -1633,7 +1635,8 @@
      ('l', 'local', None, _('edit repository config')),
      ('g', 'global', None, _('edit global config'))] + formatteropts,
     _('[-u] [NAME]...'),
-    optionalrepo=True, cmdtype=readonly)
+    optionalrepo=True,
+    intents={INTENT_READONLY})
 def config(ui, repo, *values, **opts):
     """show combined config settings from all hgrc files
 
@@ -1802,7 +1805,8 @@
     ('c', 'change', '', _('change made by revision'), _('REV'))
     ] + diffopts + diffopts2 + walkopts + subrepoopts,
     _('[OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...'),
-    inferrepo=True, cmdtype=readonly)
+    inferrepo=True,
+    intents={INTENT_READONLY})
 def diff(ui, repo, *pats, **opts):
     """diff repository (or selected files)
 
@@ -1895,7 +1899,8 @@
     ('', 'switch-parent', None, _('diff against the second parent')),
     ('r', 'rev', [], _('revisions to export'), _('REV')),
     ] + diffopts + formatteropts,
-    _('[OPTION]... [-o OUTFILESPEC] [-r] [REV]...'), cmdtype=readonly)
+    _('[OPTION]... [-o OUTFILESPEC] [-r] [REV]...'),
+    intents={INTENT_READONLY})
 def export(ui, repo, *changesets, **opts):
     """dump the header and diffs for one or more changesets
 
@@ -1990,7 +1995,8 @@
     [('r', 'rev', '', _('search the repository as it is in REV'), _('REV')),
      ('0', 'print0', None, _('end filenames with NUL, for use with xargs')),
     ] + walkopts + formatteropts + subrepoopts,
-    _('[OPTION]... [FILE]...'), cmdtype=readonly)
+    _('[OPTION]... [FILE]...'),
+    intents={INTENT_READONLY})
 def files(ui, repo, *pats, **opts):
     """list tracked files
 
@@ -2371,7 +2377,8 @@
     ('d', 'date', None, _('list the date (short with -q)')),
     ] + formatteropts + walkopts,
     _('[OPTION]... PATTERN [FILE]...'),
-    inferrepo=True, cmdtype=readonly)
+    inferrepo=True,
+    intents={INTENT_READONLY})
 def grep(ui, repo, pattern, *pats, **opts):
     """search revision history for a pattern in specified files
 
@@ -2617,7 +2624,8 @@
     ('a', 'active', False, _('show active branchheads only (DEPRECATED)')),
     ('c', 'closed', False, _('show normal and closed branch heads')),
     ] + templateopts,
-    _('[-ct] [-r STARTREV] [REV]...'), cmdtype=readonly)
+    _('[-ct] [-r STARTREV] [REV]...'),
+    intents={INTENT_READONLY})
 def heads(ui, repo, *branchrevs, **opts):
     """show branch heads
 
@@ -2693,7 +2701,8 @@
      ('s', 'system', [], _('show help for specific platform(s)')),
      ],
     _('[-ecks] [TOPIC]'),
-    norepo=True, cmdtype=readonly)
+    norepo=True,
+    intents={INTENT_READONLY})
 def help_(ui, name=None, **opts):
     """show help for a given topic or a help overview
 
@@ -2735,7 +2744,8 @@
     ('B', 'bookmarks', None, _('show bookmarks')),
     ] + remoteopts + formatteropts,
     _('[-nibtB] [-r REV] [SOURCE]'),
-    optionalrepo=True, cmdtype=readonly)
+    optionalrepo=True,
+    intents={INTENT_READONLY})
 def identify(ui, repo, source=None, rev=None,
              num=None, id=None, branch=None, tags=None, bookmarks=None, **opts):
     """identify the working directory or specified revision
@@ -3312,7 +3322,8 @@
      _('do not display revision or any of its ancestors'), _('REV')),
     ] + logopts + walkopts,
     _('[OPTION]... [FILE]'),
-    inferrepo=True, cmdtype=readonly)
+    inferrepo=True,
+    intents={INTENT_READONLY})
 def log(ui, repo, *pats, **opts):
     """show revision history of entire repository or files
 
@@ -3480,7 +3491,8 @@
     [('r', 'rev', '', _('revision to display'), _('REV')),
      ('', 'all', False, _("list files from all revisions"))]
          + formatteropts,
-    _('[-r REV]'), cmdtype=readonly)
+    _('[-r REV]'),
+    intents={INTENT_READONLY})
 def manifest(ui, repo, node=None, rev=None, **opts):
     """output the current or given revision of the project manifest
 
@@ -3758,7 +3770,7 @@
     displayer.close()
 
 @command('paths', formatteropts, _('[NAME]'), optionalrepo=True,
-    cmdtype=readonly)
+    intents={INTENT_READONLY})
 def paths(ui, repo, search=None, **opts):
     """show aliases for remote repositories
 
@@ -4696,7 +4708,7 @@
     return repo.rollback(dryrun=opts.get(r'dry_run'),
                          force=opts.get(r'force'))
 
-@command('root', [], cmdtype=readonly)
+@command('root', [], intents={INTENT_READONLY})
 def root(ui, repo):
     """print the root (top) of the current working directory
 
@@ -4790,7 +4802,8 @@
     ('', 'change', '', _('list the changed files of a revision'), _('REV')),
     ] + walkopts + subrepoopts + formatteropts,
     _('[OPTION]... [FILE]...'),
-    inferrepo=True, cmdtype=readonly)
+    inferrepo=True,
+    intents={INTENT_READONLY})
 def status(ui, repo, *pats, **opts):
     """show changed files in the working directory
 
@@ -4958,7 +4971,8 @@
 
 @command('^summary|sum',
     [('', 'remote', None, _('check for push and pull'))],
-    '[--remote]', cmdtype=readonly)
+    '[--remote]',
+    intents={INTENT_READONLY})
 def summary(ui, repo, **opts):
     """summarize working directory state
 
@@ -5359,7 +5373,7 @@
     finally:
         release(lock, wlock)
 
-@command('tags', formatteropts, '', cmdtype=readonly)
+@command('tags', formatteropts, '', intents={INTENT_READONLY})
 def tags(ui, repo, **opts):
     """list repository tags
 
@@ -5596,7 +5610,8 @@
     """
     return hg.verify(repo)
 
-@command('version', [] + formatteropts, norepo=True, cmdtype=readonly)
+@command('version', [] + formatteropts, norepo=True,
+         intents={INTENT_READONLY})
 def version_(ui, **opts):
     """output version and copyright information"""
     opts = pycompat.byteskwargs(opts)