2019-12-10 02:24:31 +03:00
|
|
|
#chg-compatible
|
|
|
|
|
2020-01-20 13:42:49 +03:00
|
|
|
$ disable treemanifest
|
2018-09-15 04:09:47 +03:00
|
|
|
#require no-fsmonitor
|
|
|
|
|
2010-08-17 16:37:05 +04:00
|
|
|
Show all commands except debug commands
|
|
|
|
$ hg debugcomplete
|
|
|
|
add
|
|
|
|
addremove
|
|
|
|
annotate
|
|
|
|
archive
|
|
|
|
backout
|
|
|
|
bisect
|
2019-06-26 20:59:13 +03:00
|
|
|
blackbox
|
2011-02-10 22:46:28 +03:00
|
|
|
bookmarks
|
2010-08-17 16:37:05 +04:00
|
|
|
branch
|
|
|
|
bundle
|
|
|
|
cat
|
|
|
|
clone
|
|
|
|
commit
|
2019-10-09 00:18:34 +03:00
|
|
|
continue
|
2010-08-17 16:37:05 +04:00
|
|
|
copy
|
|
|
|
diff
|
2019-10-05 06:33:58 +03:00
|
|
|
doctor
|
2019-11-08 01:19:52 +03:00
|
|
|
dump-trace
|
2010-08-17 16:37:05 +04:00
|
|
|
export
|
2014-09-13 03:32:46 +04:00
|
|
|
files
|
2010-08-17 16:37:05 +04:00
|
|
|
forget
|
2019-03-08 16:59:10 +03:00
|
|
|
fs
|
2018-01-13 03:58:28 +03:00
|
|
|
githelp
|
2011-10-13 03:45:36 +04:00
|
|
|
graft
|
2010-08-17 16:37:05 +04:00
|
|
|
grep
|
|
|
|
heads
|
|
|
|
help
|
2018-04-07 10:36:46 +03:00
|
|
|
hint
|
2018-10-26 00:42:34 +03:00
|
|
|
histgrep
|
2010-08-17 16:37:05 +04:00
|
|
|
identify
|
|
|
|
import
|
|
|
|
incoming
|
|
|
|
init
|
|
|
|
locate
|
|
|
|
log
|
|
|
|
manifest
|
|
|
|
merge
|
|
|
|
outgoing
|
|
|
|
parents
|
|
|
|
paths
|
2012-01-10 22:45:35 +04:00
|
|
|
phase
|
2010-08-17 16:37:05 +04:00
|
|
|
pull
|
2020-01-22 07:45:48 +03:00
|
|
|
purge
|
2010-08-17 16:37:05 +04:00
|
|
|
push
|
2018-10-12 21:14:34 +03:00
|
|
|
record
|
2010-08-17 16:37:05 +04:00
|
|
|
recover
|
|
|
|
remove
|
|
|
|
rename
|
|
|
|
resolve
|
|
|
|
revert
|
|
|
|
rollback
|
|
|
|
root
|
|
|
|
serve
|
2018-10-12 16:57:12 +03:00
|
|
|
show
|
2010-08-17 16:37:05 +04:00
|
|
|
status
|
|
|
|
summary
|
|
|
|
tag
|
|
|
|
tags
|
|
|
|
tip
|
|
|
|
unbundle
|
2018-10-30 17:58:06 +03:00
|
|
|
uncommit
|
2010-08-17 16:37:05 +04:00
|
|
|
update
|
|
|
|
verify
|
|
|
|
version
|
|
|
|
|
|
|
|
Show all commands that start with "a"
|
|
|
|
$ hg debugcomplete a
|
|
|
|
add
|
|
|
|
addremove
|
|
|
|
annotate
|
|
|
|
archive
|
|
|
|
|
|
|
|
Do not show debug commands if there are other candidates
|
|
|
|
$ hg debugcomplete d
|
2019-10-09 21:06:55 +03:00
|
|
|
diff
|
2019-10-05 06:33:58 +03:00
|
|
|
doctor
|
2019-11-08 01:19:52 +03:00
|
|
|
dump-trace
|
2010-08-17 16:37:05 +04:00
|
|
|
|
|
|
|
Show debug commands if there are no other candidates
|
|
|
|
$ hg debugcomplete debug
|
2019-10-24 23:38:34 +03:00
|
|
|
debug-args
|
2010-08-17 16:37:05 +04:00
|
|
|
debugancestor
|
2015-10-15 23:43:18 +03:00
|
|
|
debugapplystreamclonebundle
|
2019-08-10 02:12:58 +03:00
|
|
|
debugbindag
|
2010-08-17 16:37:05 +04:00
|
|
|
debugbuilddag
|
2011-03-22 11:22:29 +03:00
|
|
|
debugbundle
|
2017-10-30 19:08:16 +03:00
|
|
|
debugcapabilities
|
2018-05-27 14:51:52 +03:00
|
|
|
debugcheckcasecollisions
|
2019-04-04 21:23:56 +03:00
|
|
|
debugcheckoutidentifier
|
2010-08-17 16:37:05 +04:00
|
|
|
debugcheckstate
|
2017-02-21 20:41:37 +03:00
|
|
|
debugcolor
|
2010-08-17 16:37:05 +04:00
|
|
|
debugcommands
|
|
|
|
debugcomplete
|
|
|
|
debugconfig
|
2015-10-17 21:40:29 +03:00
|
|
|
debugcreatestreamclonebundle
|
2010-08-17 16:37:05 +04:00
|
|
|
debugdag
|
|
|
|
debugdata
|
|
|
|
debugdate
|
2015-12-06 10:37:46 +03:00
|
|
|
debugdeltachain
|
2020-05-20 04:09:41 +03:00
|
|
|
debugdetectissues
|
2020-03-11 20:39:23 +03:00
|
|
|
debugdifftree
|
2019-11-02 21:47:20 +03:00
|
|
|
debugdirs
|
2013-04-15 03:41:27 +04:00
|
|
|
debugdirstate
|
2011-05-02 21:21:30 +04:00
|
|
|
debugdiscovery
|
2018-01-30 04:19:34 +03:00
|
|
|
debugdrawdag
|
2020-04-15 07:20:18 +03:00
|
|
|
debugdynamicconfig
|
2019-01-17 06:39:41 +03:00
|
|
|
debugedenimporthelper
|
2019-09-07 20:20:14 +03:00
|
|
|
debugedenrunpostupdatehook
|
2019-08-08 12:58:03 +03:00
|
|
|
debugexistingcasecollisions
|
2015-09-10 17:53:07 +03:00
|
|
|
debugextensions
|
2018-02-07 01:18:14 +03:00
|
|
|
debugfilerevision
|
2011-06-02 04:12:18 +04:00
|
|
|
debugfileset
|
2017-12-07 18:19:46 +03:00
|
|
|
debugformat
|
2010-08-17 16:37:05 +04:00
|
|
|
debugfsinfo
|
2011-03-23 18:02:11 +03:00
|
|
|
debuggetbundle
|
2019-10-28 21:11:11 +03:00
|
|
|
debughttp
|
2011-01-15 18:02:03 +03:00
|
|
|
debugignore
|
2010-08-17 16:37:05 +04:00
|
|
|
debugindex
|
|
|
|
debugindexdot
|
2019-10-24 23:38:34 +03:00
|
|
|
debugindexedlog-dump
|
|
|
|
debugindexedlog-repair
|
2010-08-17 16:37:05 +04:00
|
|
|
debuginstall
|
2011-03-22 11:22:21 +03:00
|
|
|
debugknown
|
2013-03-21 22:35:34 +04:00
|
|
|
debuglabelcomplete
|
2014-09-27 01:44:11 +04:00
|
|
|
debuglocks
|
2019-11-13 02:33:03 +03:00
|
|
|
debugmanifestdirs
|
2015-10-02 23:00:47 +03:00
|
|
|
debugmergestate
|
2020-01-14 01:27:26 +03:00
|
|
|
debugmetalog
|
2020-03-16 20:18:18 +03:00
|
|
|
debugmetalogroots
|
2018-12-13 21:41:51 +03:00
|
|
|
debugmutation
|
2019-04-11 12:40:04 +03:00
|
|
|
debugmutationfromobsmarkers
|
2014-10-18 00:41:29 +04:00
|
|
|
debugnamecomplete
|
2012-06-07 21:15:23 +04:00
|
|
|
debugobsolete
|
2013-03-22 08:20:40 +04:00
|
|
|
debugpathcomplete
|
2017-05-12 21:37:50 +03:00
|
|
|
debugpickmergetool
|
2019-08-10 02:12:58 +03:00
|
|
|
debugpreviewbindag
|
2018-08-23 07:26:48 +03:00
|
|
|
debugprocesstree
|
2018-03-12 18:02:12 +03:00
|
|
|
debugprogress
|
2020-04-02 05:36:18 +03:00
|
|
|
debugpull
|
2010-08-17 16:37:05 +04:00
|
|
|
debugpushkey
|
2012-03-12 22:37:39 +04:00
|
|
|
debugpvec
|
2019-09-21 03:43:59 +03:00
|
|
|
debugpython
|
2019-09-24 19:08:29 +03:00
|
|
|
debugreadauthforuri
|
2013-04-15 03:41:47 +04:00
|
|
|
debugrebuilddirstate
|
2015-06-22 19:59:48 +03:00
|
|
|
debugrebuildfncache
|
2010-08-17 16:37:05 +04:00
|
|
|
debugrename
|
2011-05-12 20:22:49 +04:00
|
|
|
debugrevlog
|
2010-08-17 16:37:05 +04:00
|
|
|
debugrevspec
|
2019-08-20 05:24:40 +03:00
|
|
|
debugrunshell
|
2020-05-14 01:32:02 +03:00
|
|
|
debugsendunbundle
|
2010-08-17 16:37:05 +04:00
|
|
|
debugsetparents
|
2018-01-17 23:54:24 +03:00
|
|
|
debugshell
|
2020-06-09 03:19:57 +03:00
|
|
|
debugsmallcommitmetadata
|
2017-03-30 07:27:46 +03:00
|
|
|
debugssl
|
2018-12-13 20:05:15 +03:00
|
|
|
debugstatus
|
2019-08-16 05:35:17 +03:00
|
|
|
debugstore
|
2019-02-25 14:50:46 +03:00
|
|
|
debugstrip
|
2012-12-13 18:38:43 +04:00
|
|
|
debugsuccessorssets
|
2016-02-13 19:06:12 +03:00
|
|
|
debugtemplate
|
2018-10-10 13:49:30 +03:00
|
|
|
debugtreestate
|
2017-05-02 22:35:06 +03:00
|
|
|
debugupdatecaches
|
debugcommands: stub for debugupgraderepo command
Currently, if Mercurial introduces a new repository/store feature or
changes behavior of an existing feature, users must perform an
`hg clone` to create a new repository with hopefully the
correct/optimal settings. Unfortunately, even `hg clone` may not
give the correct results. For example, if you do a local `hg clone`,
you may get hardlinks to revlog files that inherit the old state.
If you `hg clone` from a remote or `hg clone --pull`, changegroup
application may bypass some optimization, such as converting to
generaldelta.
Optimizing a repository is harder than it seems and requires more
than a simple `hg` command invocation.
This commit starts the process of changing that. We introduce
`hg debugupgraderepo`, a command that performs an in-place upgrade
of a repository to use new, optimal features. The command is just
a stub right now. Features will be added in subsequent commits.
This commit does foreshadow some of the behavior of the new command,
notably that it doesn't do anything by default and that it takes
arguments that influence what actions it performs. These will be
explained more in subsequent commits.
2016-11-25 03:24:09 +03:00
|
|
|
debugupgraderepo
|
2019-04-11 12:40:06 +03:00
|
|
|
debugvisibility
|
2020-04-08 05:00:46 +03:00
|
|
|
debugvisibleheads
|
2010-08-17 16:37:05 +04:00
|
|
|
debugwalk
|
2011-03-22 09:38:32 +03:00
|
|
|
debugwireargs
|
2010-08-17 16:37:05 +04:00
|
|
|
|
|
|
|
Do not show the alias of a debug command if there are other candidates
|
|
|
|
(this should hide rawcommit)
|
|
|
|
$ hg debugcomplete r
|
2018-10-12 21:14:34 +03:00
|
|
|
record
|
2010-08-17 16:37:05 +04:00
|
|
|
recover
|
|
|
|
remove
|
|
|
|
rename
|
|
|
|
resolve
|
|
|
|
revert
|
|
|
|
rollback
|
|
|
|
root
|
|
|
|
Show the alias of a debug command if there are no other candidates
|
|
|
|
$ hg debugcomplete rawc
|
|
|
|
|
|
|
|
|
|
|
|
Show the global options
|
2020-06-19 23:36:42 +03:00
|
|
|
$ hg debugcomplete --options | LC_ALL=C sort
|
2017-02-21 20:09:21 +03:00
|
|
|
--color
|
2010-08-17 16:37:05 +04:00
|
|
|
--config
|
2018-03-20 02:20:55 +03:00
|
|
|
--configfile
|
2010-08-17 16:37:05 +04:00
|
|
|
--cwd
|
|
|
|
--debug
|
|
|
|
--debugger
|
|
|
|
--encoding
|
|
|
|
--encodingmode
|
|
|
|
--help
|
2013-01-08 23:37:37 +04:00
|
|
|
--hidden
|
2010-08-17 16:37:05 +04:00
|
|
|
--noninteractive
|
encoding: use correct output encoding on windows
Summary:
On Windows, there are *two* 8-bit encodings for each process.
* The ANSI code page is used for all `...A` system calls, and this is what
Mercurial uses internally. It can be overridden using the `--encoding`
command line option.
* The OEM code page is used when outputing to the console. Mercurial has no
concept of this, and instead renders to the console using the ANSI code page,
which results in mojibake like "Θ" instead of "é".
Add the concept of an `outputencoding`. If this differs from `encoding`, we
convert from the local encoding to the output encoding before writing to the
console.
On non-Windows platforms, this defaults to the same encoding as the local encoding,
so this is a no-op unless `--outputencoding` is manually specified.
On Windows, this defaults to the codepage given by `GetOEMCP`, causing output
to be converted to the OEM codepage before being printed.
For ordinary strings, the local encoded version is wrapped by `localstr` if the
encoding does not round-trip cleanly. This means the output encoding works
even if the character is not represented in the local encoding.
Unfortunately, the templater is not localstr-clean, which means strings can get
flattened down to the local encoding and the original code points are lost. In
this case we can only output characters which are in the intersection of the
encoding and the output encoding.
Most US English Windows systems use cp1252 for the ANSI code page and cp437 for
the OEM code page. These both contain many accented characters, so users with
accented characters in their names will now see them correctly rendered.
All of this only applies to Python 2.7. In Python 3, everything is Unicode,
the `--encoding` and `--outputencoding` options do nothing, and it just works.
Reviewed By: quark-zju, ikostia
Differential Revision: D19951381
fbshipit-source-id: d5cb8b5bfe2bc131b2e6c3b892137a48b2139ca9
2020-02-20 15:27:06 +03:00
|
|
|
--outputencoding
|
2017-02-16 01:47:57 +03:00
|
|
|
--pager
|
2010-08-17 16:37:05 +04:00
|
|
|
--profile
|
|
|
|
--quiet
|
|
|
|
--repository
|
|
|
|
--time
|
|
|
|
--traceback
|
|
|
|
--verbose
|
|
|
|
--version
|
|
|
|
-R
|
|
|
|
-h
|
|
|
|
-q
|
|
|
|
-v
|
|
|
|
-y
|
|
|
|
|
|
|
|
Show the options for the "serve" command
|
2020-06-19 23:36:42 +03:00
|
|
|
$ hg debugcomplete --options serve | LC_ALL=C sort
|
2010-08-17 16:37:05 +04:00
|
|
|
--accesslog
|
|
|
|
--address
|
|
|
|
--certificate
|
2011-06-03 18:27:41 +04:00
|
|
|
--cmdserver
|
2017-02-21 20:09:21 +03:00
|
|
|
--color
|
2010-08-17 16:37:05 +04:00
|
|
|
--config
|
2018-03-20 02:20:55 +03:00
|
|
|
--configfile
|
2010-08-17 16:37:05 +04:00
|
|
|
--cwd
|
|
|
|
--daemon
|
2016-02-22 19:59:08 +03:00
|
|
|
--daemon-postexec
|
2010-08-17 16:37:05 +04:00
|
|
|
--debug
|
|
|
|
--debugger
|
|
|
|
--encoding
|
|
|
|
--encodingmode
|
|
|
|
--errorlog
|
|
|
|
--help
|
2013-01-08 23:37:37 +04:00
|
|
|
--hidden
|
2010-08-17 16:37:05 +04:00
|
|
|
--ipv6
|
|
|
|
--name
|
|
|
|
--noninteractive
|
encoding: use correct output encoding on windows
Summary:
On Windows, there are *two* 8-bit encodings for each process.
* The ANSI code page is used for all `...A` system calls, and this is what
Mercurial uses internally. It can be overridden using the `--encoding`
command line option.
* The OEM code page is used when outputing to the console. Mercurial has no
concept of this, and instead renders to the console using the ANSI code page,
which results in mojibake like "Θ" instead of "é".
Add the concept of an `outputencoding`. If this differs from `encoding`, we
convert from the local encoding to the output encoding before writing to the
console.
On non-Windows platforms, this defaults to the same encoding as the local encoding,
so this is a no-op unless `--outputencoding` is manually specified.
On Windows, this defaults to the codepage given by `GetOEMCP`, causing output
to be converted to the OEM codepage before being printed.
For ordinary strings, the local encoded version is wrapped by `localstr` if the
encoding does not round-trip cleanly. This means the output encoding works
even if the character is not represented in the local encoding.
Unfortunately, the templater is not localstr-clean, which means strings can get
flattened down to the local encoding and the original code points are lost. In
this case we can only output characters which are in the intersection of the
encoding and the output encoding.
Most US English Windows systems use cp1252 for the ANSI code page and cp437 for
the OEM code page. These both contain many accented characters, so users with
accented characters in their names will now see them correctly rendered.
All of this only applies to Python 2.7. In Python 3, everything is Unicode,
the `--encoding` and `--outputencoding` options do nothing, and it just works.
Reviewed By: quark-zju, ikostia
Differential Revision: D19951381
fbshipit-source-id: d5cb8b5bfe2bc131b2e6c3b892137a48b2139ca9
2020-02-20 15:27:06 +03:00
|
|
|
--outputencoding
|
2017-02-16 01:47:57 +03:00
|
|
|
--pager
|
2010-08-17 16:37:05 +04:00
|
|
|
--pid-file
|
|
|
|
--port
|
2018-02-08 02:18:27 +03:00
|
|
|
--port-file
|
2010-08-17 16:37:05 +04:00
|
|
|
--prefix
|
|
|
|
--profile
|
|
|
|
--quiet
|
2018-01-03 16:35:56 +03:00
|
|
|
--read-only
|
2010-08-17 16:37:05 +04:00
|
|
|
--repository
|
|
|
|
--stdio
|
|
|
|
--style
|
|
|
|
--templates
|
|
|
|
--time
|
|
|
|
--traceback
|
|
|
|
--verbose
|
|
|
|
--version
|
|
|
|
--web-conf
|
|
|
|
-6
|
|
|
|
-A
|
|
|
|
-E
|
|
|
|
-R
|
|
|
|
-a
|
|
|
|
-d
|
|
|
|
-h
|
|
|
|
-n
|
|
|
|
-p
|
|
|
|
-q
|
|
|
|
-t
|
|
|
|
-v
|
|
|
|
-y
|
|
|
|
|
|
|
|
Show an error if we use --options with an ambiguous abbreviation
|
|
|
|
$ hg debugcomplete --options s
|
2019-10-09 21:06:55 +03:00
|
|
|
unknown command 's'
|
|
|
|
(use 'hg help' to get help)
|
2010-09-17 02:51:32 +04:00
|
|
|
[255]
|
2010-08-17 16:37:05 +04:00
|
|
|
|
|
|
|
Show all commands + options
|
|
|
|
$ hg debugcommands
|
2019-03-11 20:37:29 +03:00
|
|
|
add: include, exclude, dry-run
|
|
|
|
addremove: similarity, include, exclude, dry-run
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
annotate: rev, no-follow, text, user, file, date, number, changeset, line-number, skip, ignore-all-space, ignore-space-change, ignore-blank-lines, ignore-space-at-eol, include, exclude, template
|
2019-03-11 20:37:29 +03:00
|
|
|
archive: no-decode, prefix, rev, type, include, exclude
|
2019-07-20 11:01:33 +03:00
|
|
|
backout: merge, no-commit, parent, rev, edit, tool, include, exclude, message, logfile, date, user
|
2018-10-08 16:12:32 +03:00
|
|
|
bisect: reset, good, bad, skip, extend, command, noupdate, nosparseskip
|
2019-06-26 20:59:13 +03:00
|
|
|
blackbox: start, end, pattern, timestamp, sid
|
2018-10-15 20:30:18 +03:00
|
|
|
bookmarks: force, rev, delete, strip, rename, inactive, template
|
2018-10-16 19:23:18 +03:00
|
|
|
branch: force, clean, new
|
2019-02-15 04:36:27 +03:00
|
|
|
bundle: force, rev, base, all, type, ssh, remotecmd, insecure
|
2017-05-25 15:53:44 +03:00
|
|
|
cat: output, rev, decode, include, exclude, template
|
2020-05-12 20:20:16 +03:00
|
|
|
clone: noupdate, updaterev, rev, pull, uncompressed, stream, shallow, ssh, remotecmd, insecure
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
commit: addremove, amend, edit, interactive, reuse-message, include, exclude, message, logfile, date, user
|
2016-08-29 08:07:15 +03:00
|
|
|
config: untrusted, edit, local, global, template
|
2019-10-09 00:18:34 +03:00
|
|
|
continue:
|
2010-08-17 16:37:05 +04:00
|
|
|
copy: after, force, include, exclude, dry-run
|
2019-10-24 23:38:34 +03:00
|
|
|
debug-args:
|
2010-08-17 16:37:05 +04:00
|
|
|
debugancestor:
|
2015-10-15 23:43:18 +03:00
|
|
|
debugapplystreamclonebundle:
|
2019-08-10 02:12:58 +03:00
|
|
|
debugbindag: rev, output
|
2011-05-02 21:21:30 +04:00
|
|
|
debugbuilddag: mergeable-file, overwritten-file, new-file
|
2017-06-06 02:19:41 +03:00
|
|
|
debugbundle: all, part-type, spec
|
2017-10-30 19:08:16 +03:00
|
|
|
debugcapabilities:
|
2018-05-27 14:51:52 +03:00
|
|
|
debugcheckcasecollisions: rev
|
2019-04-04 21:23:56 +03:00
|
|
|
debugcheckoutidentifier:
|
2010-08-17 16:37:05 +04:00
|
|
|
debugcheckstate:
|
2017-02-21 20:41:37 +03:00
|
|
|
debugcolor: style
|
2010-08-17 16:37:05 +04:00
|
|
|
debugcommands:
|
|
|
|
debugcomplete: options
|
2015-10-17 21:40:29 +03:00
|
|
|
debugcreatestreamclonebundle:
|
2020-01-07 23:29:27 +03:00
|
|
|
debugdag: bookmarks, branches, dots, spaces
|
2015-04-13 09:51:06 +03:00
|
|
|
debugdata: changelog, manifest, dir
|
2020-01-09 22:49:48 +03:00
|
|
|
debugdate: extended, range
|
2015-12-06 10:37:46 +03:00
|
|
|
debugdeltachain: changelog, manifest, dir, template
|
2020-05-20 04:09:41 +03:00
|
|
|
debugdetectissues:
|
2020-03-11 20:39:23 +03:00
|
|
|
debugdifftree: rev, include, exclude, style, template
|
2019-11-02 21:47:20 +03:00
|
|
|
debugdirs: rev, print0
|
2019-01-17 01:17:09 +03:00
|
|
|
debugdirstate: nodates, datesort, json
|
2017-12-07 00:44:51 +03:00
|
|
|
debugdiscovery: old, nonheads, rev, ssh, remotecmd, insecure
|
2018-12-13 21:41:53 +03:00
|
|
|
debugdrawdag: print
|
2020-04-15 07:20:18 +03:00
|
|
|
debugdynamicconfig:
|
2019-06-27 03:05:14 +03:00
|
|
|
debugedenimporthelper: in-fd, out-fd, manifest, get-manifest-node, cat-file, get-file-size, fetch-tree
|
2019-09-07 20:20:14 +03:00
|
|
|
debugedenrunpostupdatehook:
|
2019-08-08 12:58:03 +03:00
|
|
|
debugexistingcasecollisions: rev
|
2018-01-23 23:08:51 +03:00
|
|
|
debugextensions: excludedefault, template
|
2018-02-07 01:18:14 +03:00
|
|
|
debugfilerevision: rev, include, exclude
|
2012-08-16 00:28:32 +04:00
|
|
|
debugfileset: rev
|
2017-12-07 18:19:46 +03:00
|
|
|
debugformat: template
|
2010-08-17 16:37:05 +04:00
|
|
|
debugfsinfo:
|
2011-03-23 18:02:11 +03:00
|
|
|
debuggetbundle: head, common, type
|
2019-10-28 21:11:11 +03:00
|
|
|
debughttp:
|
2011-01-15 18:02:03 +03:00
|
|
|
debugignore:
|
2015-04-13 09:51:06 +03:00
|
|
|
debugindex: changelog, manifest, dir, format
|
2015-12-06 08:40:38 +03:00
|
|
|
debugindexdot: changelog, manifest, dir
|
2019-10-24 23:38:34 +03:00
|
|
|
debugindexedlog-dump:
|
|
|
|
debugindexedlog-repair:
|
2016-03-09 21:58:51 +03:00
|
|
|
debuginstall: template
|
2011-03-22 11:22:21 +03:00
|
|
|
debugknown:
|
2013-03-21 22:35:34 +04:00
|
|
|
debuglabelcomplete:
|
2018-04-18 03:16:48 +03:00
|
|
|
debuglocks: force-lock, force-wlock, force-undolog-lock, set-lock, set-wlock
|
2019-11-13 02:33:03 +03:00
|
|
|
debugmanifestdirs: rev
|
2015-10-02 23:00:47 +03:00
|
|
|
debugmergestate:
|
2020-01-14 01:27:26 +03:00
|
|
|
debugmetalog: time-range
|
2020-03-16 20:18:18 +03:00
|
|
|
debugmetalogroots: style, template
|
2020-02-17 17:39:11 +03:00
|
|
|
debugmutation: rev, successors, time-range
|
2019-04-11 12:40:04 +03:00
|
|
|
debugmutationfromobsmarkers:
|
2019-07-23 22:52:14 +03:00
|
|
|
debugnamecomplete:
|
2017-05-20 16:02:30 +03:00
|
|
|
debugobsolete: flags, record-parents, rev, exclusive, index, delete, date, user, template
|
2013-03-22 08:20:40 +04:00
|
|
|
debugpathcomplete: full, normal, added, removed
|
2017-05-12 21:37:50 +03:00
|
|
|
debugpickmergetool: rev, changedelete, include, exclude, tool
|
2019-08-10 02:12:58 +03:00
|
|
|
debugpreviewbindag:
|
2018-08-23 07:26:48 +03:00
|
|
|
debugprocesstree:
|
2019-03-30 06:29:23 +03:00
|
|
|
debugprogress: spinner, nototal, bytes, sleep, nested, with-output
|
2020-04-02 05:36:18 +03:00
|
|
|
debugpull: bookmark, rev
|
2010-08-17 16:37:05 +04:00
|
|
|
debugpushkey:
|
2012-03-12 22:37:39 +04:00
|
|
|
debugpvec:
|
2019-11-06 21:51:16 +03:00
|
|
|
debugpython: trace
|
2019-09-24 19:08:29 +03:00
|
|
|
debugreadauthforuri: user
|
2015-08-13 05:44:21 +03:00
|
|
|
debugrebuilddirstate: rev, minimal
|
2015-06-22 19:59:48 +03:00
|
|
|
debugrebuildfncache:
|
2010-08-17 16:37:05 +04:00
|
|
|
debugrename: rev
|
2015-04-13 09:51:06 +03:00
|
|
|
debugrevlog: changelog, manifest, dir, dump
|
2017-06-10 14:14:23 +03:00
|
|
|
debugrevspec: optimize, show-revs, show-set, show-stage, no-optimized, verify-optimized
|
2019-08-20 05:24:40 +03:00
|
|
|
debugrunshell: cmd
|
2020-05-14 01:32:02 +03:00
|
|
|
debugsendunbundle:
|
2010-08-17 16:37:05 +04:00
|
|
|
debugsetparents:
|
2018-05-23 09:25:25 +03:00
|
|
|
debugshell: command
|
2020-06-09 03:19:57 +03:00
|
|
|
debugsmallcommitmetadata: rev, category, delete, template
|
2017-03-30 07:27:46 +03:00
|
|
|
debugssl:
|
2018-12-13 20:05:15 +03:00
|
|
|
debugstatus: nonnormal
|
2019-08-16 05:35:17 +03:00
|
|
|
debugstore: content
|
2019-02-25 14:50:46 +03:00
|
|
|
debugstrip: rev, force, no-backup, keep, bookmark
|
2017-06-30 16:27:19 +03:00
|
|
|
debugsuccessorssets: closest
|
2016-02-13 19:06:12 +03:00
|
|
|
debugtemplate: rev, define
|
2018-10-10 13:49:30 +03:00
|
|
|
debugtreestate:
|
2017-05-02 22:35:06 +03:00
|
|
|
debugupdatecaches:
|
debugcommands: stub for debugupgraderepo command
Currently, if Mercurial introduces a new repository/store feature or
changes behavior of an existing feature, users must perform an
`hg clone` to create a new repository with hopefully the
correct/optimal settings. Unfortunately, even `hg clone` may not
give the correct results. For example, if you do a local `hg clone`,
you may get hardlinks to revlog files that inherit the old state.
If you `hg clone` from a remote or `hg clone --pull`, changegroup
application may bypass some optimization, such as converting to
generaldelta.
Optimizing a repository is harder than it seems and requires more
than a simple `hg` command invocation.
This commit starts the process of changing that. We introduce
`hg debugupgraderepo`, a command that performs an in-place upgrade
of a repository to use new, optimal features. The command is just
a stub right now. Features will be added in subsequent commits.
This commit does foreshadow some of the behavior of the new command,
notably that it doesn't do anything by default and that it takes
arguments that influence what actions it performs. These will be
explained more in subsequent commits.
2016-11-25 03:24:09 +03:00
|
|
|
debugupgraderepo: optimize, run
|
2019-04-11 12:40:06 +03:00
|
|
|
debugvisibility:
|
2020-04-08 05:00:46 +03:00
|
|
|
debugvisibleheads: style, template
|
2010-08-17 16:37:05 +04:00
|
|
|
debugwalk: include, exclude
|
2011-04-30 13:16:52 +04:00
|
|
|
debugwireargs: three, four, five, ssh, remotecmd, insecure
|
2019-08-20 05:24:40 +03:00
|
|
|
diff: rev, change, text, git, binary, nodates, noprefix, show-function, reverse, ignore-all-space, ignore-space-change, ignore-blank-lines, ignore-space-at-eol, unified, stat, root, only-files-in-revs, include, exclude
|
2019-10-05 06:33:58 +03:00
|
|
|
doctor:
|
2019-11-08 01:19:52 +03:00
|
|
|
dump-trace: time-range, session-id, output-path
|
2019-10-17 23:50:14 +03:00
|
|
|
export: output, switch-parent, rev, pattern, text, git, binary, nodates, include, exclude
|
2019-03-11 20:37:29 +03:00
|
|
|
files: rev, print0, include, exclude, template
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
forget: include, exclude
|
2019-03-08 16:59:10 +03:00
|
|
|
fs:
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
githelp:
|
2018-03-01 06:13:29 +03:00
|
|
|
graft: rev, continue, abort, edit, log, force, currentdate, currentuser, date, user, tool, dry-run
|
2018-10-26 00:42:34 +03:00
|
|
|
grep: after-context, before-context, context, ignore-case, files-with-matches, line-number, invert-match, word-regexp, extended-regexp, fixed-strings, perl-regexp, include, exclude
|
2010-08-17 16:37:05 +04:00
|
|
|
heads: rev, topo, active, closed, style, template
|
2016-01-10 11:03:58 +03:00
|
|
|
help: extension, command, keyword, system
|
2018-04-07 10:36:46 +03:00
|
|
|
hint: ack
|
2018-10-26 00:42:34 +03:00
|
|
|
histgrep: print0, all, text, follow, ignore-case, files-with-matches, line-number, rev, user, date, template, include, exclude
|
identify: add template support
This is based on a patch proposed last year by Mathias De Maré[1], with a few
changes.
- Tags and bookmarks are now formatted lists, for more flexible queries.
- The templater is populated whether or not [-nibtB] is specified. (Plain
output is unchanged.) This seems more consistent with other templated
commands.
- The 'id' property is a string, instead of a list.
- The parents of 'wdir()' have their own list of attributes.
I left 'id' as a string because it seems very useful for generating version
info. It's also a bit strange because the value and meaning changes depending
on whether or not --debug is passed (short vs full hash), whether the revision
is a merge or not (one hash or two, separated by a '+'), the working directory
or not (node vs p1node), and local or not (remote defaults to tip, and never has
'+'). The equivalent string built with {rev} seems much less useful, and I
couldn't think of a reasonable name, so I left it out.
The discussion seemed to be pointing towards having a list of nodes, with more
than one entry for a merge. It seems simpler to give the nodes a name, and use
{node} for the actual commit probed, especially now that there is a virtual node
for 'wdir()'.
Yuya mentioned using fm.nested() in that thread, so I did for the parent nodes.
I'm not sure if the plan is to fill in all of the context attributes in these
items, or if these nested items should simply be made {p1node} and {p1rev}.
I used ':' as the tag separator for consistency with {tags} in the log
templater. Likewise, bookmarks are separated by a space for consistency with
the corresponding log template.
[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-August/087039.html
2017-06-25 06:09:21 +03:00
|
|
|
identify: rev, num, id, branch, tags, bookmarks, ssh, remotecmd, insecure, template
|
2019-02-13 06:48:29 +03:00
|
|
|
import: strip, base, edit, force, no-commit, bypass, partial, exact, prefix, message, logfile, date, user, similarity
|
2019-03-11 20:37:29 +03:00
|
|
|
incoming: force, newest-first, bundle, rev, bookmarks, patch, git, limit, no-merges, stat, graph, style, template, ssh, remotecmd, insecure
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
init: ssh, remotecmd, insecure
|
2010-08-17 16:37:05 +04:00
|
|
|
locate: rev, print0, fullpath, include, exclude
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
log: follow, follow-first, date, copies, keyword, rev, line-range, removed, only-merges, user, branch, prune, patch, git, limit, no-merges, stat, graph, style, template, include, exclude
|
2014-09-15 22:15:07 +04:00
|
|
|
manifest: rev, all, template
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
merge: force, rev, preview, tool
|
2019-03-11 20:37:29 +03:00
|
|
|
outgoing: force, rev, newest-first, bookmarks, patch, git, limit, no-merges, stat, graph, style, template, ssh, remotecmd, insecure
|
2010-08-17 16:37:05 +04:00
|
|
|
parents: rev, style, template
|
2015-12-13 16:09:57 +03:00
|
|
|
paths: template
|
2012-11-28 14:20:56 +04:00
|
|
|
phase: public, draft, secret, force, rev
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
pull: update, force, rev, bookmark, ssh, remotecmd, insecure
|
2020-01-22 07:45:48 +03:00
|
|
|
purge: abort-on-err, all, dirs, files, print, print0, include, exclude
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
push: force, rev, bookmark, new-branch, pushvars, ssh, remotecmd, insecure
|
|
|
|
record: addremove, amend, secret, edit, message, logfile, date, user, ignore-all-space, ignore-space-change, ignore-blank-lines, ignore-space-at-eol, include, exclude
|
2010-08-17 16:37:05 +04:00
|
|
|
recover:
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
remove: after, force, include, exclude
|
2010-08-17 16:37:05 +04:00
|
|
|
rename: after, force, include, exclude, dry-run
|
2018-09-03 13:02:01 +03:00
|
|
|
resolve: all, list, mark, unmark, no-status, root-relative, tool, include, exclude, template, skip
|
2015-03-17 02:33:59 +03:00
|
|
|
revert: all, date, rev, no-backup, interactive, include, exclude, dry-run
|
2011-10-01 05:58:54 +04:00
|
|
|
rollback: dry-run, force
|
2019-05-16 21:06:04 +03:00
|
|
|
root: shared
|
commands: define prefixes as aliases
Summary:
At a recent team meeting we've decided to remove the command prefix matching
behavior, as it can be really annoying for the Rust parser (since it needs to
know all the names, but it wants to avoid spinning up Python). It's even more
annoying for subcommand support. FWIW git does not have prefix matching.
This diff adds various aliases to "roughly" keep the command prefix matching
behavior.
The list of aliases are obtained by this script in `hg dbsh`:
def unique(prefix, names):
m = __import__('edenscm.mercurial').mercurial
try:
return m.cmdutil.findcmd(prefix, m.commands.table, False)[0][0] in names
except:
return False
nameslist=sorted([i.replace('^','') for i in m.commands.table])
aliases = {}
for names in nameslist:
names = names.split('|')
for name in names:
if name.startswith('debug'):
continue
for prefix in [name[:i] for i in xrange(1, len(name))]:
if unique(prefix, names):
aliases.setdefault(name, []).append(prefix)
Debug commands, and commands that are rarely used are not changed, including:
'backfillmanifestrevlog': ['backfillm', 'backfillma', 'backfillman', 'backfillmani', 'backfillmanif', 'backfillmanife', 'backfillmanifes', 'backfillmanifest', 'backfillmanifestr', 'backfillmanifestre', 'backfillmanifestrev', 'backfillmanifestrevl', 'backfillmanifestrevlo'],
'backfilltree': ['backfillt', 'backfilltr', 'backfilltre']}
'blackbox': ['blac', 'black', 'blackb', 'blackbo'],
'cachemanifest': ['cac', 'cach', 'cache', 'cachem', 'cachema', 'cacheman', 'cachemani', 'cachemanif', 'cachemanife', 'cachemanifes'],
'chistedit': ['chi', 'chis', 'chist', 'chiste', 'chisted', 'chistedi'],
'clone': ['clon'],
'cloud': ['clou'],
'convert': ['conv', 'conve', 'conver'],
'copy': ['cop'],
'fastannotate': ['fa', 'fas', 'fast', 'fasta', 'fastan', 'fastann', 'fastanno', 'fastannot', 'fastannota', 'fastannotat'],
'fold': ['fol'],
'githelp': ['gi', 'git', 'gith', 'githe', 'githel'],
'histgrep': ['histg', 'histgr', 'histgre'],
'incoming': ['in', 'inc', 'inco', 'incom', 'incomi', 'incomin'],
'isbackedup': ['is', 'isb', 'isba', 'isbac', 'isback', 'isbacke', 'isbacked', 'isbackedu'],
'manifest': ['ma', 'man', 'mani', 'manif', 'manife', 'manifes'],
'outgoing': ['o', 'ou', 'out', 'outg', 'outgo', 'outgoi', 'outgoin'],
'prefetch': ['pref', 'prefe', 'prefet', 'prefetc'],
'prune': ['pru', 'prun'],
'pushbackup': ['pushb', 'pushba', 'pushbac', 'pushback', 'pushbacku'],
'rage': ['ra', 'rag'],
'record': ['recor'],
'recover': ['recov', 'recove'],
'redo': ['red'],
'repack': ['rep', 'repa', 'repac'],
'reset': ['rese'],
'rollback': ['rol', 'roll', 'rollb', 'rollba', 'rollbac'],
'root': ['roo'],
'serve': ['se', 'ser', 'serv'],
'share': ['sha', 'shar'],
'sparse': ['spa', 'spar', 'spars'],
'svn': ['sv'],
'undo': ['und'],
'unshare': ['unsha', 'unshar'],
'verifyremotefilelog': ['verifyr', 'verifyre', 'verifyrem', 'verifyremo', 'verifyremot', 'verifyremote', 'verifyremotef', 'verifyremotefi', 'verifyremotefil', 'verifyremotefile', 'verifyremotefilel', 'verifyremotefilelo'],
Reviewed By: sfilipco
Differential Revision: D17644676
fbshipit-source-id: f60f5e6810279b52f9a4a1e048eeb529a96bd735
2019-10-08 19:44:04 +03:00
|
|
|
serve: accesslog, daemon, daemon-postexec, errorlog, port, address, prefix, name, web-conf, webdir-conf, pid-file, port-file, stdio, cmdserver, templates, style, ipv6, certificate, read-only
|
|
|
|
show: nodates, noprefix, stat, git, unified, ignore-all-space, ignore-space-change, ignore-blank-lines, ignore-space-at-eol, style, template, include, exclude
|
|
|
|
status: all, modified, added, removed, deleted, clean, unknown, ignored, no-status, terse, copies, print0, rev, change, include, exclude, template
|
|
|
|
summary: remote
|
2010-08-17 16:37:05 +04:00
|
|
|
tag: force, local, rev, remove, edit, message, date, user
|
2014-09-15 22:15:07 +04:00
|
|
|
tags: template
|
2010-08-17 16:37:05 +04:00
|
|
|
tip: patch, git, style, template
|
|
|
|
unbundle: update
|
2018-10-30 17:58:06 +03:00
|
|
|
uncommit: keep, include, exclude
|
2019-10-09 00:18:34 +03:00
|
|
|
update: clean, check, merge, date, rev, inactive, continue, tool
|
2018-02-16 06:10:45 +03:00
|
|
|
verify: rev
|
2016-08-25 08:00:26 +03:00
|
|
|
version: template
|
2013-03-22 09:26:01 +04:00
|
|
|
|
|
|
|
$ hg init a
|
|
|
|
$ cd a
|
|
|
|
$ echo fee > fee
|
|
|
|
$ hg ci -q -Amfee
|
2020-01-07 23:29:27 +03:00
|
|
|
$ hg book fee
|
2013-03-22 09:26:01 +04:00
|
|
|
$ mkdir fie
|
|
|
|
$ echo dead > fie/dead
|
|
|
|
$ echo live > fie/live
|
|
|
|
$ hg bookmark fo
|
|
|
|
$ hg ci -q -Amfie
|
|
|
|
$ echo fo > fo
|
|
|
|
$ hg ci -q -Amfo
|
|
|
|
$ echo Fum > Fum
|
|
|
|
$ hg ci -q -AmFum
|
|
|
|
$ hg bookmark Fum
|
|
|
|
|
|
|
|
Test debugpathcomplete
|
|
|
|
|
|
|
|
$ hg debugpathcomplete f
|
2013-03-22 09:42:51 +04:00
|
|
|
fee
|
2013-11-25 21:12:42 +04:00
|
|
|
fie
|
2013-03-22 09:42:51 +04:00
|
|
|
fo
|
2013-03-22 09:26:01 +04:00
|
|
|
$ hg debugpathcomplete -f f
|
2013-03-22 09:42:51 +04:00
|
|
|
fee
|
|
|
|
fie/dead
|
|
|
|
fie/live
|
|
|
|
fo
|
2013-03-22 09:26:01 +04:00
|
|
|
|
|
|
|
$ hg rm Fum
|
|
|
|
$ hg debugpathcomplete -r F
|
2013-03-22 09:42:51 +04:00
|
|
|
Fum
|
2013-03-22 09:26:01 +04:00
|
|
|
|
2014-10-18 00:41:29 +04:00
|
|
|
Test debugnamecomplete
|
2013-03-22 09:26:01 +04:00
|
|
|
|
2014-10-18 00:41:29 +04:00
|
|
|
$ hg debugnamecomplete
|
2013-03-22 09:42:51 +04:00
|
|
|
Fum
|
2019-07-23 22:52:14 +03:00
|
|
|
default
|
|
|
|
fee
|
|
|
|
fo
|
|
|
|
$ hg debugnamecomplete f
|
2013-03-22 09:42:51 +04:00
|
|
|
fee
|
|
|
|
fo
|
2017-03-14 23:10:30 +03:00
|
|
|
|
|
|
|
Test debuglabelcomplete, a deprecated name for debugnamecomplete that is still
|
|
|
|
used for completions in some shells.
|
|
|
|
|
|
|
|
$ hg debuglabelcomplete
|
|
|
|
Fum
|
2019-07-23 22:52:14 +03:00
|
|
|
default
|
|
|
|
fee
|
|
|
|
fo
|
|
|
|
$ hg debuglabelcomplete f
|
2017-03-14 23:10:30 +03:00
|
|
|
fee
|
|
|
|
fo
|