##// END OF EJS Templates
dispatch: don't show list of commands on bogus command...
dispatch: don't show list of commands on bogus command If a command is ambiguous, you get this: $ hg ve hg: command 've' is ambiguous: verify version [255] If you typo a command, you get this: $ hg comit hg: unknown command 'comit' (did you mean one of commit, incoming, mycommit?) [255] But if you completely mistype a command so it no longer looks like any existing commands, you get a full list of commands. That might be useful the first time you use Mercurial, but after that it's probably more annoying than help, especially if you have the pager enabled and have a short terminal. Let's instead give a short hint telling the user to run `hg help` for more help. Differential Revision: https://phab.mercurial-scm.org/D4024

File last commit:

r38359:9abe91a5 default
r38810:81fb4421 default
Show More
test-duplicateoptions.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
/ tests / test-duplicateoptions.py
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 from __future__ import absolute_import, print_function
Idan Kamara
tests: add a test to check for duplicate command options
r14449 import os
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 from mercurial import (
commands,
extensions,
Yuya Nishihara
test-duplicateoptions: alias ui as uimod
r28804 ui as uimod,
Robert Stanca
py3: use absolute_import in test-duplicateoptions.py
r28739 )
Idan Kamara
tests: add a test to check for duplicate command options
r14449
John Stiles
graph: improve graph output by using Unicode characters...
r38359 ignore = {b'highlight', b'win32text', b'factotum', b'beautifygraph'}
Idan Kamara
tests: add a test to check for duplicate command options
r14449
if os.name != 'nt':
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 ignore.add(b'win32mbcs')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
disabled = [ext for ext in extensions.disabled().keys() if ext not in ignore]
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 hgrc = open(os.environ["HGRCPATH"], 'wb')
hgrc.write(b'[extensions]\n')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
for ext in disabled:
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 hgrc.write(ext + b'=\n')
Idan Kamara
tests: add a test to check for duplicate command options
r14449
hgrc.close()
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Idan Kamara
tests: add a test to check for duplicate command options
r14449 extensions.loadall(u)
Simon Heimberg
test: test for options duplicate with global options...
r15099 globalshort = set()
globallong = set()
for option in commands.globalopts:
option[0] and globalshort.add(option[0])
option[1] and globallong.add(option[1])
Augie Fackler
tests: update duplicateoptions test to use bytestrings everywhere...
r33689 for cmd, entry in commands.table.items():
Simon Heimberg
test: test for options duplicate with global options...
r15099 seenshort = globalshort.copy()
seenlong = globallong.copy()
Idan Kamara
tests: add a test to check for duplicate command options
r14449 for option in entry[1]:
if (option[0] and option[0] in seenshort) or \
(option[1] and option[1] in seenlong):
Robert Stanca
py3: use print_function in test-duplicateoptions.py
r28740 print("command '" + cmd + "' has duplicate option " + str(option))
Idan Kamara
tests: add a test to check for duplicate command options
r14449 seenshort.add(option[0])
seenlong.add(option[1])