Submitter | Augie Fackler |
---|---|
Date | Sept. 29, 2016, 3:07 p.m. |
Message ID | <95c7c3cbd873412d180f.1475161670@arthedain.pit.corp.google.com> |
Download | mbox | patch |
Permalink | /patch/16805/ |
State | Accepted |
Headers | show |
Comments
Nice. Thanks for doing this. Queued with the "RFC"s removed in flight. On Thu, Sep 29, 2016 at 8:07 AM, Augie Fackler <raf@durin42.com> wrote: > # HG changeset patch > # User Augie Fackler <augie@google.com> > # Date 1473821892 14400 > # Tue Sep 13 22:58:12 2016 -0400 > # Node ID 95c7c3cbd873412d180f17b5b0dd292094f42746 > # Parent e83f89d3b1f733d0ee5f23f6a2293279a17fbbfb > help: mark boolean flags with [no-] to explain that they can be negated (RFC) > > That is, help gets tweaked thus: > > global options ([+] can be repeated): > -v --[no-]verbose enable additional output > > > Still an RFC because it's still unclear what we should do. Other > proposals have included: > > global options ([+] can be repeated, options marked [?] are boolean flags): > -v --verbose[?] enable additional output > > and > > global options ([+] can be repeated, options marked [^] are boolean flags): > -v --verbose[^] enable additional output > > which avoid the unfortunate visual noise in this patch. In this > version's favor, it's consistent with what I'm used to seeing in man > pages and similar documentation venues. > > diff --git a/mercurial/help.py b/mercurial/help.py > --- a/mercurial/help.py > +++ b/mercurial/help.py > @@ -20,6 +20,7 @@ from . import ( > encoding, > error, > extensions, > + fancyopts, > filemerge, > fileset, > minirst, > @@ -65,6 +66,7 @@ def extshelp(ui): > def optrst(header, options, verbose): > data = [] > multioccur = False > + alllong = set(o[1] for o in options) > for option in options: > if len(option) == 5: > shortopt, longopt, default, desc, optlabel = option > @@ -87,6 +89,16 @@ def optrst(header, options, verbose): > multioccur = True > elif (default is not None) and not isinstance(default, bool): > lo += " %s" % optlabel > + elif longopt not in fancyopts.nevernegate: > + if longopt.startswith('no-'): > + # This odd if statement guards against showing > + # --no-commit and --commit on backout (as a practical > + # example) as --[no-]commit in help. > + if (longopt[3:]) not in alllong: > + lo = '--[no-]' + lo[5:] > + else: > + if ('no-' + longopt) not in alllong: > + lo = '--[no-]' + lo[2:] > > data.append((so, lo, desc)) > > diff --git a/tests/test-convert.t b/tests/test-convert.t > --- a/tests/test-convert.t > +++ b/tests/test-convert.t > @@ -327,13 +327,13 @@ > -r --rev REV [+] import up to source revision REV > -A --authormap FILE remap usernames using this file > --filemap FILE remap file names using contents of file > - --full apply filemap changes by converting all files again > + --[no-]full apply filemap changes by converting all files again > --splicemap FILE splice synthesized history into place > --branchmap FILE change branch names while converting > - --branchsort try to sort changesets by branches > - --datesort try to sort changesets by date > - --sourcesort preserve source changesets order > - --closesort try to reorder closed revisions > + --[no-]branchsort try to sort changesets by branches > + --[no-]datesort try to sort changesets by date > + --[no-]sourcesort preserve source changesets order > + --[no-]closesort try to reorder closed revisions > > (some details hidden, use --verbose to show complete help) > $ hg init a > diff --git a/tests/test-dispatch.t b/tests/test-dispatch.t > --- a/tests/test-dispatch.t > +++ b/tests/test-dispatch.t > @@ -23,7 +23,7 @@ Missing arg: > > -o --output FORMAT print output to file with formatted name > -r --rev REV print the given revision > - --decode apply any matching decode filter > + --[no-]decode apply any matching decode filter > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > > diff --git a/tests/test-extdiff.t b/tests/test-extdiff.t > --- a/tests/test-extdiff.t > +++ b/tests/test-extdiff.t > @@ -48,10 +48,10 @@ Should diff cloned directories: > -o --option OPT [+] pass option to comparison program > -r --rev REV [+] revision > -c --change REV change made by revision > - --patch compare patches for two revisions > + --[no-]patch compare patches for two revisions > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > - -S --subrepos recurse into subrepositories > + -S --[no-]subrepos recurse into subrepositories > > (some details hidden, use --verbose to show complete help) > > diff --git a/tests/test-extension.t b/tests/test-extension.t > --- a/tests/test-extension.t > +++ b/tests/test-extension.t > @@ -530,19 +530,19 @@ hide outer repo > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > > > @@ -565,19 +565,19 @@ hide outer repo > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > > > @@ -624,10 +624,10 @@ Extension module help vs command help: > -o --option OPT [+] pass option to comparison program > -r --rev REV [+] revision > -c --change REV change made by revision > - --patch compare patches for two revisions > + --[no-]patch compare patches for two revisions > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > - -S --subrepos recurse into subrepositories > + -S --[no-]subrepos recurse into subrepositories > > (some details hidden, use --verbose to show complete help) > > @@ -851,19 +851,19 @@ extension help itself > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > Make sure that single '-v' option shows help and built-ins only for 'dodo' command > $ hg help -v dodo > @@ -875,7 +875,7 @@ Make sure that single '-v' option shows > > options: > > - --mq operate on patch repository > + --[no-]mq operate on patch repository > > global options ([+] can be repeated): > > @@ -884,19 +884,19 @@ Make sure that single '-v' option shows > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > In case when extension name doesn't match any of its commands, > help message should ask for '-v' to get list of built-in aliases > @@ -955,19 +955,19 @@ help options '-v' and '-v -e' should be > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > $ hg help -v -e dudu > dudu extension - > @@ -987,19 +987,19 @@ help options '-v' and '-v -e' should be > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > Disabled extension commands: > > diff --git a/tests/test-help.t b/tests/test-help.t > --- a/tests/test-help.t > +++ b/tests/test-help.t > @@ -318,19 +318,19 @@ Test short command list with verbose opt > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > (use 'hg help' for the full list of commands) > > @@ -353,8 +353,8 @@ Test short command list with verbose opt > > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > - -S --subrepos recurse into subrepositories > - -n --dry-run do not perform actions, just print output > + -S --[no-]subrepos recurse into subrepositories > + -n --[no-]dry-run do not perform actions, just print output > > (some details hidden, use --verbose to show complete help) > > @@ -404,8 +404,8 @@ Verbose help for add > > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > - -S --subrepos recurse into subrepositories > - -n --dry-run do not perform actions, just print output > + -S --[no-]subrepos recurse into subrepositories > + -n --[no-]dry-run do not perform actions, just print output > > global options ([+] can be repeated): > > @@ -414,19 +414,19 @@ Verbose help for add > --cwd DIR change working directory > -y --noninteractive do not prompt, automatically pick the first choice for > all prompts > - -q --quiet suppress output > - -v --verbose enable additional output > + -q --[no-]quiet suppress output > + -v --[no-]verbose enable additional output > --config CONFIG [+] set/override config option (use 'section.name=value') > - --debug enable debugging output > - --debugger start debugger > + --[no-]debug enable debugging output > + --[no-]debugger start debugger > --encoding ENCODE set the charset encoding (default: ascii) > --encodingmode MODE set the charset encoding mode (default: strict) > - --traceback always print a traceback on exception > - --time time how long the command takes > - --profile print command execution profile > + --[no-]traceback always print a traceback on exception > + --[no-]time time how long the command takes > + --[no-]profile print command execution profile > --version output version information and exit > -h --help display help and exit > - --hidden consider hidden changesets > + --[no-]hidden consider hidden changesets > > Test the textwidth config option > > @@ -464,8 +464,8 @@ Test help option with version option > > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > - -S --subrepos recurse into subrepositories > - -n --dry-run do not perform actions, just print output > + -S --[no-]subrepos recurse into subrepositories > + -n --[no-]dry-run do not perform actions, just print output > > (use 'hg add -h' to show more help) > [255] > @@ -534,23 +534,23 @@ Test command without options > > options ([+] can be repeated): > > - -r --rev REV [+] revision > - -c --change REV change made by revision > - -a --text treat all files as text > - -g --git use git extended diff format > - --nodates omit dates from diff headers > - --noprefix omit a/ and b/ prefixes from filenames > - -p --show-function show which function each change is in > - --reverse produce a diff that undoes the changes > - -w --ignore-all-space ignore white space when comparing lines > - -b --ignore-space-change ignore changes in the amount of white space > - -B --ignore-blank-lines ignore changes whose lines are all blank > - -U --unified NUM number of lines of context to show > - --stat output diffstat-style summary of changes > - --root DIR produce diffs relative to subdirectory > - -I --include PATTERN [+] include names matching the given patterns > - -X --exclude PATTERN [+] exclude names matching the given patterns > - -S --subrepos recurse into subrepositories > + -r --rev REV [+] revision > + -c --change REV change made by revision > + -a --[no-]text treat all files as text > + -g --[no-]git use git extended diff format > + --[no-]nodates omit dates from diff headers > + --[no-]noprefix omit a/ and b/ prefixes from filenames > + -p --[no-]show-function show which function each change is in > + --[no-]reverse produce a diff that undoes the changes > + -w --[no-]ignore-all-space ignore white space when comparing lines > + -b --[no-]ignore-space-change ignore changes in the amount of white space > + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank > + -U --unified NUM number of lines of context to show > + --[no-]stat output diffstat-style summary of changes > + --root DIR produce diffs relative to subdirectory > + -I --include PATTERN [+] include names matching the given patterns > + -X --exclude PATTERN [+] exclude names matching the given patterns > + -S --[no-]subrepos recurse into subrepositories > > (some details hidden, use --verbose to show complete help) > > @@ -596,22 +596,22 @@ Test command without options > > options ([+] can be repeated): > > - -A --all show status of all files > - -m --modified show only modified files > - -a --added show only added files > - -r --removed show only removed files > - -d --deleted show only deleted (but tracked) files > - -c --clean show only files without changes > - -u --unknown show only unknown (not tracked) files > - -i --ignored show only ignored files > - -n --no-status hide status prefix > - -C --copies show source of copied files > - -0 --print0 end filenames with NUL, for use with xargs > + -A --[no-]all show status of all files > + -m --[no-]modified show only modified files > + -a --[no-]added show only added files > + -r --[no-]removed show only removed files > + -d --[no-]deleted show only deleted (but tracked) files > + -c --[no-]clean show only files without changes > + -u --[no-]unknown show only unknown (not tracked) files > + -i --[no-]ignored show only ignored files > + -n --[no-]status hide status prefix > + -C --[no-]copies show source of copied files > + -0 --[no-]print0 end filenames with NUL, for use with xargs > --rev REV [+] show difference from revision > --change REV list the changed files of a revision > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > - -S --subrepos recurse into subrepositories > + -S --[no-]subrepos recurse into subrepositories > > (some details hidden, use --verbose to show complete help) > > @@ -717,7 +717,7 @@ Test for aliases > > options: > > - --remote check for push and pull > + --[no-]remote check for push and pull > > (some details hidden, use --verbose to show complete help) > > @@ -743,7 +743,7 @@ Test command with no help text > > --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (default: 3) > - -n -- normal desc > + -n --[no-] normal desc > --newline VALUE line1 line2 > > (some details hidden, use --verbose to show complete help) > @@ -1128,9 +1128,9 @@ test deprecated and experimental options > > test deprecated and experimental options is shown with -v > $ hg help -v debugoptDEP | grep dopt > - --dopt option is (DEPRECATED) > + --[no-]dopt option is (DEPRECATED) > $ hg help -v debugoptEXP | grep eopt > - --eopt option is (EXPERIMENTAL) > + --[no-]eopt option is (EXPERIMENTAL) > > #if gettext > test deprecated option is hidden with translation with untranslated description > @@ -2474,10 +2474,10 @@ Dish up an empty repo; serve it cold. > <td>--exclude PATTERN [+]</td> > <td>exclude names matching the given patterns</td></tr> > <tr><td>-S</td> > - <td>--subrepos</td> > + <td>--[no-]subrepos</td> > <td>recurse into subrepositories</td></tr> > <tr><td>-n</td> > - <td>--dry-run</td> > + <td>--[no-]dry-run</td> > <td>do not perform actions, just print output</td></tr> > </table> > <p> > @@ -2494,19 +2494,19 @@ Dish up an empty repo; serve it cold. > <td>--noninteractive</td> > <td>do not prompt, automatically pick the first choice for all prompts</td></tr> > <tr><td>-q</td> > - <td>--quiet</td> > + <td>--[no-]quiet</td> > <td>suppress output</td></tr> > <tr><td>-v</td> > - <td>--verbose</td> > + <td>--[no-]verbose</td> > <td>enable additional output</td></tr> > <tr><td></td> > <td>--config CONFIG [+]</td> > <td>set/override config option (use 'section.name=value')</td></tr> > <tr><td></td> > - <td>--debug</td> > + <td>--[no-]debug</td> > <td>enable debugging output</td></tr> > <tr><td></td> > - <td>--debugger</td> > + <td>--[no-]debugger</td> > <td>start debugger</td></tr> > <tr><td></td> > <td>--encoding ENCODE</td> > @@ -2515,13 +2515,13 @@ Dish up an empty repo; serve it cold. > <td>--encodingmode MODE</td> > <td>set the charset encoding mode (default: strict)</td></tr> > <tr><td></td> > - <td>--traceback</td> > + <td>--[no-]traceback</td> > <td>always print a traceback on exception</td></tr> > <tr><td></td> > - <td>--time</td> > + <td>--[no-]time</td> > <td>time how long the command takes</td></tr> > <tr><td></td> > - <td>--profile</td> > + <td>--[no-]profile</td> > <td>print command execution profile</td></tr> > <tr><td></td> > <td>--version</td> > @@ -2530,7 +2530,7 @@ Dish up an empty repo; serve it cold. > <td>--help</td> > <td>display help and exit</td></tr> > <tr><td></td> > - <td>--hidden</td> > + <td>--[no-]hidden</td> > <td>consider hidden changesets</td></tr> > </table> > > @@ -2661,13 +2661,13 @@ Dish up an empty repo; serve it cold. > </p> > <table> > <tr><td>-A</td> > - <td>--after</td> > + <td>--[no-]after</td> > <td>record delete for missing files</td></tr> > <tr><td>-f</td> > - <td>--force</td> > + <td>--[no-]force</td> > <td>forget added files, delete modified files</td></tr> > <tr><td>-S</td> > - <td>--subrepos</td> > + <td>--[no-]subrepos</td> > <td>recurse into subrepositories</td></tr> > <tr><td>-I</td> > <td>--include PATTERN [+]</td> > @@ -2690,19 +2690,19 @@ Dish up an empty repo; serve it cold. > <td>--noninteractive</td> > <td>do not prompt, automatically pick the first choice for all prompts</td></tr> > <tr><td>-q</td> > - <td>--quiet</td> > + <td>--[no-]quiet</td> > <td>suppress output</td></tr> > <tr><td>-v</td> > - <td>--verbose</td> > + <td>--[no-]verbose</td> > <td>enable additional output</td></tr> > <tr><td></td> > <td>--config CONFIG [+]</td> > <td>set/override config option (use 'section.name=value')</td></tr> > <tr><td></td> > - <td>--debug</td> > + <td>--[no-]debug</td> > <td>enable debugging output</td></tr> > <tr><td></td> > - <td>--debugger</td> > + <td>--[no-]debugger</td> > <td>start debugger</td></tr> > <tr><td></td> > <td>--encoding ENCODE</td> > @@ -2711,13 +2711,13 @@ Dish up an empty repo; serve it cold. > <td>--encodingmode MODE</td> > <td>set the charset encoding mode (default: strict)</td></tr> > <tr><td></td> > - <td>--traceback</td> > + <td>--[no-]traceback</td> > <td>always print a traceback on exception</td></tr> > <tr><td></td> > - <td>--time</td> > + <td>--[no-]time</td> > <td>time how long the command takes</td></tr> > <tr><td></td> > - <td>--profile</td> > + <td>--[no-]profile</td> > <td>print command execution profile</td></tr> > <tr><td></td> > <td>--version</td> > @@ -2726,7 +2726,7 @@ Dish up an empty repo; serve it cold. > <td>--help</td> > <td>display help and exit</td></tr> > <tr><td></td> > - <td>--hidden</td> > + <td>--[no-]hidden</td> > <td>consider hidden changesets</td></tr> > </table> > > diff --git a/tests/test-mq-qrefresh-interactive.t b/tests/test-mq-qrefresh-interactive.t > --- a/tests/test-mq-qrefresh-interactive.t > +++ b/tests/test-mq-qrefresh-interactive.t > @@ -31,13 +31,13 @@ help qrefresh (no record) > > options ([+] can be repeated): > > - -e --edit invoke editor on commit messages > - -g --git use git extended diff format > - -s --short refresh only files already in the patch and > + -e --[no-]edit invoke editor on commit messages > + -g --[no-]git use git extended diff format > + -s --[no-]short refresh only files already in the patch and > specified files > - -U --currentuser add/update author field in patch with current user > + -U --[no-]currentuser add/update author field in patch with current user > -u --user USER add/update author field in patch with given user > - -D --currentdate add/update date field in patch with current date > + -D --[no-]currentdate add/update date field in patch with current date > -d --date DATE add/update date field in patch with given date > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > @@ -73,19 +73,19 @@ help qrefresh (record) > > options ([+] can be repeated): > > - -e --edit invoke editor on commit messages > - -g --git use git extended diff format > - -s --short refresh only files already in the patch and > + -e --[no-]edit invoke editor on commit messages > + -g --[no-]git use git extended diff format > + -s --[no-]short refresh only files already in the patch and > specified files > - -U --currentuser add/update author field in patch with current user > + -U --[no-]currentuser add/update author field in patch with current user > -u --user USER add/update author field in patch with given user > - -D --currentdate add/update date field in patch with current date > + -D --[no-]currentdate add/update date field in patch with current date > -d --date DATE add/update date field in patch with given date > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > -m --message TEXT use text as commit message > -l --logfile FILE read commit message from file > - -i --interactive interactively select changes to refresh > + -i --[no-]interactive interactively select changes to refresh > > (some details hidden, use --verbose to show complete help) > > diff --git a/tests/test-qrecord.t b/tests/test-qrecord.t > --- a/tests/test-qrecord.t > +++ b/tests/test-qrecord.t > @@ -59,22 +59,22 @@ help record (record) > > options ([+] can be repeated): > > - -A --addremove mark new/missing files as added/removed before > - committing > - --close-branch mark a branch head as closed > - --amend amend the parent of the working directory > - -s --secret use the secret phase for committing > - -e --edit invoke editor on commit messages > - -I --include PATTERN [+] include names matching the given patterns > - -X --exclude PATTERN [+] exclude names matching the given patterns > - -m --message TEXT use text as commit message > - -l --logfile FILE read commit message from file > - -d --date DATE record the specified date as commit date > - -u --user USER record the specified user as committer > - -S --subrepos recurse into subrepositories > - -w --ignore-all-space ignore white space when comparing lines > - -b --ignore-space-change ignore changes in the amount of white space > - -B --ignore-blank-lines ignore changes whose lines are all blank > + -A --[no-]addremove mark new/missing files as added/removed before > + committing > + --[no-]close-branch mark a branch head as closed > + --[no-]amend amend the parent of the working directory > + -s --[no-]secret use the secret phase for committing > + -e --[no-]edit invoke editor on commit messages > + -I --include PATTERN [+] include names matching the given patterns > + -X --exclude PATTERN [+] exclude names matching the given patterns > + -m --message TEXT use text as commit message > + -l --logfile FILE read commit message from file > + -d --date DATE record the specified date as commit date > + -u --user USER record the specified user as committer > + -S --[no-]subrepos recurse into subrepositories > + -w --[no-]ignore-all-space ignore white space when comparing lines > + -b --[no-]ignore-space-change ignore changes in the amount of white space > + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank > > (some details hidden, use --verbose to show complete help) > > @@ -135,20 +135,20 @@ help (mq present) > > options ([+] can be repeated): > > - -e --edit invoke editor on commit messages > - -g --git use git extended diff format > - -U --currentuser add "From: <current user>" to patch > - -u --user USER add "From: <USER>" to patch > - -D --currentdate add "Date: <current date>" to patch > - -d --date DATE add "Date: <DATE>" to patch > - -I --include PATTERN [+] include names matching the given patterns > - -X --exclude PATTERN [+] exclude names matching the given patterns > - -m --message TEXT use text as commit message > - -l --logfile FILE read commit message from file > - -w --ignore-all-space ignore white space when comparing lines > - -b --ignore-space-change ignore changes in the amount of white space > - -B --ignore-blank-lines ignore changes whose lines are all blank > - --mq operate on patch repository > + -e --[no-]edit invoke editor on commit messages > + -g --[no-]git use git extended diff format > + -U --[no-]currentuser add "From: <current user>" to patch > + -u --user USER add "From: <USER>" to patch > + -D --[no-]currentdate add "Date: <current date>" to patch > + -d --date DATE add "Date: <DATE>" to patch > + -I --include PATTERN [+] include names matching the given patterns > + -X --exclude PATTERN [+] exclude names matching the given patterns > + -m --message TEXT use text as commit message > + -l --logfile FILE read commit message from file > + -w --[no-]ignore-all-space ignore white space when comparing lines > + -b --[no-]ignore-space-change ignore changes in the amount of white space > + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank > + --[no-]mq operate on patch repository > > (some details hidden, use --verbose to show complete help) > > diff --git a/tests/test-record.t b/tests/test-record.t > --- a/tests/test-record.t > +++ b/tests/test-record.t > @@ -45,22 +45,22 @@ Record help > > options ([+] can be repeated): > > - -A --addremove mark new/missing files as added/removed before > - committing > - --close-branch mark a branch head as closed > - --amend amend the parent of the working directory > - -s --secret use the secret phase for committing > - -e --edit invoke editor on commit messages > - -I --include PATTERN [+] include names matching the given patterns > - -X --exclude PATTERN [+] exclude names matching the given patterns > - -m --message TEXT use text as commit message > - -l --logfile FILE read commit message from file > - -d --date DATE record the specified date as commit date > - -u --user USER record the specified user as committer > - -S --subrepos recurse into subrepositories > - -w --ignore-all-space ignore white space when comparing lines > - -b --ignore-space-change ignore changes in the amount of white space > - -B --ignore-blank-lines ignore changes whose lines are all blank > + -A --[no-]addremove mark new/missing files as added/removed before > + committing > + --[no-]close-branch mark a branch head as closed > + --[no-]amend amend the parent of the working directory > + -s --[no-]secret use the secret phase for committing > + -e --[no-]edit invoke editor on commit messages > + -I --include PATTERN [+] include names matching the given patterns > + -X --exclude PATTERN [+] exclude names matching the given patterns > + -m --message TEXT use text as commit message > + -l --logfile FILE read commit message from file > + -d --date DATE record the specified date as commit date > + -u --user USER record the specified user as committer > + -S --[no-]subrepos recurse into subrepositories > + -w --[no-]ignore-all-space ignore white space when comparing lines > + -b --[no-]ignore-space-change ignore changes in the amount of white space > + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank > > (some details hidden, use --verbose to show complete help) > > diff --git a/tests/test-shelve.t b/tests/test-shelve.t > --- a/tests/test-shelve.t > +++ b/tests/test-shelve.t > @@ -58,22 +58,22 @@ shelve has a help message > > options ([+] can be repeated): > > - -A --addremove mark new/missing files as added/removed before > + -A --[no-]addremove mark new/missing files as added/removed before > shelving > - -u --unknown store unknown files in the shelve > - --cleanup delete all shelved changes > + -u --[no-]unknown store unknown files in the shelve > + --[no-]cleanup delete all shelved changes > --date DATE shelve with the specified commit date > - -d --delete delete the named shelved change(s) > - -e --edit invoke editor on commit messages > - -l --list list current shelves > + -d --[no-]delete delete the named shelved change(s) > + -e --[no-]edit invoke editor on commit messages > + -l --[no-]list list current shelves > -m --message TEXT use text as shelve message > -n --name NAME use the given name for the shelved commit > - -p --patch show patch > - -i --interactive interactive mode, only works while creating a shelve > - --stat output diffstat-style summary of changes > + -p --[no-]patch show patch > + -i --[no-]interactive interactive mode, only works while creating a shelve > + --[no-]stat output diffstat-style summary of changes > -I --include PATTERN [+] include names matching the given patterns > -X --exclude PATTERN [+] exclude names matching the given patterns > - --mq operate on patch repository > + --[no-]mq operate on patch repository > > (some details hidden, use --verbose to show complete help) > > diff --git a/tests/test-strip.t b/tests/test-strip.t > --- a/tests/test-strip.t > +++ b/tests/test-strip.t > @@ -710,12 +710,12 @@ Make sure no one adds back a -b option: > > -r --rev REV [+] strip specified revision (optional, can specify > revisions without this option) > - -f --force force removal of changesets, discard uncommitted > + -f --[no-]force force removal of changesets, discard uncommitted > changes (no backup) > - --no-backup no backups > - -k --keep do not modify working directory during strip > + --[no-]backup no backups > + -k --[no-]keep do not modify working directory during strip > -B --bookmark VALUE [+] remove revs only reachable from given bookmark > - --mq operate on patch repository > + --[no-]mq operate on patch repository > > (use 'hg strip -h' to show more help) > [255] > > _______________________________________________ > Mercurial-devel mailing list > Mercurial-devel@mercurial-scm.org > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
Patch
diff --git a/mercurial/help.py b/mercurial/help.py --- a/mercurial/help.py +++ b/mercurial/help.py @@ -20,6 +20,7 @@ from . import ( encoding, error, extensions, + fancyopts, filemerge, fileset, minirst, @@ -65,6 +66,7 @@ def extshelp(ui): def optrst(header, options, verbose): data = [] multioccur = False + alllong = set(o[1] for o in options) for option in options: if len(option) == 5: shortopt, longopt, default, desc, optlabel = option @@ -87,6 +89,16 @@ def optrst(header, options, verbose): multioccur = True elif (default is not None) and not isinstance(default, bool): lo += " %s" % optlabel + elif longopt not in fancyopts.nevernegate: + if longopt.startswith('no-'): + # This odd if statement guards against showing + # --no-commit and --commit on backout (as a practical + # example) as --[no-]commit in help. + if (longopt[3:]) not in alllong: + lo = '--[no-]' + lo[5:] + else: + if ('no-' + longopt) not in alllong: + lo = '--[no-]' + lo[2:] data.append((so, lo, desc)) diff --git a/tests/test-convert.t b/tests/test-convert.t --- a/tests/test-convert.t +++ b/tests/test-convert.t @@ -327,13 +327,13 @@ -r --rev REV [+] import up to source revision REV -A --authormap FILE remap usernames using this file --filemap FILE remap file names using contents of file - --full apply filemap changes by converting all files again + --[no-]full apply filemap changes by converting all files again --splicemap FILE splice synthesized history into place --branchmap FILE change branch names while converting - --branchsort try to sort changesets by branches - --datesort try to sort changesets by date - --sourcesort preserve source changesets order - --closesort try to reorder closed revisions + --[no-]branchsort try to sort changesets by branches + --[no-]datesort try to sort changesets by date + --[no-]sourcesort preserve source changesets order + --[no-]closesort try to reorder closed revisions (some details hidden, use --verbose to show complete help) $ hg init a diff --git a/tests/test-dispatch.t b/tests/test-dispatch.t --- a/tests/test-dispatch.t +++ b/tests/test-dispatch.t @@ -23,7 +23,7 @@ Missing arg: -o --output FORMAT print output to file with formatted name -r --rev REV print the given revision - --decode apply any matching decode filter + --[no-]decode apply any matching decode filter -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns diff --git a/tests/test-extdiff.t b/tests/test-extdiff.t --- a/tests/test-extdiff.t +++ b/tests/test-extdiff.t @@ -48,10 +48,10 @@ Should diff cloned directories: -o --option OPT [+] pass option to comparison program -r --rev REV [+] revision -c --change REV change made by revision - --patch compare patches for two revisions + --[no-]patch compare patches for two revisions -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns - -S --subrepos recurse into subrepositories + -S --[no-]subrepos recurse into subrepositories (some details hidden, use --verbose to show complete help) diff --git a/tests/test-extension.t b/tests/test-extension.t --- a/tests/test-extension.t +++ b/tests/test-extension.t @@ -530,19 +530,19 @@ hide outer repo --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets @@ -565,19 +565,19 @@ hide outer repo --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets @@ -624,10 +624,10 @@ Extension module help vs command help: -o --option OPT [+] pass option to comparison program -r --rev REV [+] revision -c --change REV change made by revision - --patch compare patches for two revisions + --[no-]patch compare patches for two revisions -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns - -S --subrepos recurse into subrepositories + -S --[no-]subrepos recurse into subrepositories (some details hidden, use --verbose to show complete help) @@ -851,19 +851,19 @@ extension help itself --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets Make sure that single '-v' option shows help and built-ins only for 'dodo' command $ hg help -v dodo @@ -875,7 +875,7 @@ Make sure that single '-v' option shows options: - --mq operate on patch repository + --[no-]mq operate on patch repository global options ([+] can be repeated): @@ -884,19 +884,19 @@ Make sure that single '-v' option shows --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets In case when extension name doesn't match any of its commands, help message should ask for '-v' to get list of built-in aliases @@ -955,19 +955,19 @@ help options '-v' and '-v -e' should be --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets $ hg help -v -e dudu dudu extension - @@ -987,19 +987,19 @@ help options '-v' and '-v -e' should be --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets Disabled extension commands: diff --git a/tests/test-help.t b/tests/test-help.t --- a/tests/test-help.t +++ b/tests/test-help.t @@ -318,19 +318,19 @@ Test short command list with verbose opt --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets (use 'hg help' for the full list of commands) @@ -353,8 +353,8 @@ Test short command list with verbose opt -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns - -S --subrepos recurse into subrepositories - -n --dry-run do not perform actions, just print output + -S --[no-]subrepos recurse into subrepositories + -n --[no-]dry-run do not perform actions, just print output (some details hidden, use --verbose to show complete help) @@ -404,8 +404,8 @@ Verbose help for add -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns - -S --subrepos recurse into subrepositories - -n --dry-run do not perform actions, just print output + -S --[no-]subrepos recurse into subrepositories + -n --[no-]dry-run do not perform actions, just print output global options ([+] can be repeated): @@ -414,19 +414,19 @@ Verbose help for add --cwd DIR change working directory -y --noninteractive do not prompt, automatically pick the first choice for all prompts - -q --quiet suppress output - -v --verbose enable additional output + -q --[no-]quiet suppress output + -v --[no-]verbose enable additional output --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --debugger start debugger + --[no-]debug enable debugging output + --[no-]debugger start debugger --encoding ENCODE set the charset encoding (default: ascii) --encodingmode MODE set the charset encoding mode (default: strict) - --traceback always print a traceback on exception - --time time how long the command takes - --profile print command execution profile + --[no-]traceback always print a traceback on exception + --[no-]time time how long the command takes + --[no-]profile print command execution profile --version output version information and exit -h --help display help and exit - --hidden consider hidden changesets + --[no-]hidden consider hidden changesets Test the textwidth config option @@ -464,8 +464,8 @@ Test help option with version option -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns - -S --subrepos recurse into subrepositories - -n --dry-run do not perform actions, just print output + -S --[no-]subrepos recurse into subrepositories + -n --[no-]dry-run do not perform actions, just print output (use 'hg add -h' to show more help) [255] @@ -534,23 +534,23 @@ Test command without options options ([+] can be repeated): - -r --rev REV [+] revision - -c --change REV change made by revision - -a --text treat all files as text - -g --git use git extended diff format - --nodates omit dates from diff headers - --noprefix omit a/ and b/ prefixes from filenames - -p --show-function show which function each change is in - --reverse produce a diff that undoes the changes - -w --ignore-all-space ignore white space when comparing lines - -b --ignore-space-change ignore changes in the amount of white space - -B --ignore-blank-lines ignore changes whose lines are all blank - -U --unified NUM number of lines of context to show - --stat output diffstat-style summary of changes - --root DIR produce diffs relative to subdirectory - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -S --subrepos recurse into subrepositories + -r --rev REV [+] revision + -c --change REV change made by revision + -a --[no-]text treat all files as text + -g --[no-]git use git extended diff format + --[no-]nodates omit dates from diff headers + --[no-]noprefix omit a/ and b/ prefixes from filenames + -p --[no-]show-function show which function each change is in + --[no-]reverse produce a diff that undoes the changes + -w --[no-]ignore-all-space ignore white space when comparing lines + -b --[no-]ignore-space-change ignore changes in the amount of white space + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank + -U --unified NUM number of lines of context to show + --[no-]stat output diffstat-style summary of changes + --root DIR produce diffs relative to subdirectory + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -S --[no-]subrepos recurse into subrepositories (some details hidden, use --verbose to show complete help) @@ -596,22 +596,22 @@ Test command without options options ([+] can be repeated): - -A --all show status of all files - -m --modified show only modified files - -a --added show only added files - -r --removed show only removed files - -d --deleted show only deleted (but tracked) files - -c --clean show only files without changes - -u --unknown show only unknown (not tracked) files - -i --ignored show only ignored files - -n --no-status hide status prefix - -C --copies show source of copied files - -0 --print0 end filenames with NUL, for use with xargs + -A --[no-]all show status of all files + -m --[no-]modified show only modified files + -a --[no-]added show only added files + -r --[no-]removed show only removed files + -d --[no-]deleted show only deleted (but tracked) files + -c --[no-]clean show only files without changes + -u --[no-]unknown show only unknown (not tracked) files + -i --[no-]ignored show only ignored files + -n --[no-]status hide status prefix + -C --[no-]copies show source of copied files + -0 --[no-]print0 end filenames with NUL, for use with xargs --rev REV [+] show difference from revision --change REV list the changed files of a revision -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns - -S --subrepos recurse into subrepositories + -S --[no-]subrepos recurse into subrepositories (some details hidden, use --verbose to show complete help) @@ -717,7 +717,7 @@ Test for aliases options: - --remote check for push and pull + --[no-]remote check for push and pull (some details hidden, use --verbose to show complete help) @@ -743,7 +743,7 @@ Test command with no help text --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (default: 3) - -n -- normal desc + -n --[no-] normal desc --newline VALUE line1 line2 (some details hidden, use --verbose to show complete help) @@ -1128,9 +1128,9 @@ test deprecated and experimental options test deprecated and experimental options is shown with -v $ hg help -v debugoptDEP | grep dopt - --dopt option is (DEPRECATED) + --[no-]dopt option is (DEPRECATED) $ hg help -v debugoptEXP | grep eopt - --eopt option is (EXPERIMENTAL) + --[no-]eopt option is (EXPERIMENTAL) #if gettext test deprecated option is hidden with translation with untranslated description @@ -2474,10 +2474,10 @@ Dish up an empty repo; serve it cold. <td>--exclude PATTERN [+]</td> <td>exclude names matching the given patterns</td></tr> <tr><td>-S</td> - <td>--subrepos</td> + <td>--[no-]subrepos</td> <td>recurse into subrepositories</td></tr> <tr><td>-n</td> - <td>--dry-run</td> + <td>--[no-]dry-run</td> <td>do not perform actions, just print output</td></tr> </table> <p> @@ -2494,19 +2494,19 @@ Dish up an empty repo; serve it cold. <td>--noninteractive</td> <td>do not prompt, automatically pick the first choice for all prompts</td></tr> <tr><td>-q</td> - <td>--quiet</td> + <td>--[no-]quiet</td> <td>suppress output</td></tr> <tr><td>-v</td> - <td>--verbose</td> + <td>--[no-]verbose</td> <td>enable additional output</td></tr> <tr><td></td> <td>--config CONFIG [+]</td> <td>set/override config option (use 'section.name=value')</td></tr> <tr><td></td> - <td>--debug</td> + <td>--[no-]debug</td> <td>enable debugging output</td></tr> <tr><td></td> - <td>--debugger</td> + <td>--[no-]debugger</td> <td>start debugger</td></tr> <tr><td></td> <td>--encoding ENCODE</td> @@ -2515,13 +2515,13 @@ Dish up an empty repo; serve it cold. <td>--encodingmode MODE</td> <td>set the charset encoding mode (default: strict)</td></tr> <tr><td></td> - <td>--traceback</td> + <td>--[no-]traceback</td> <td>always print a traceback on exception</td></tr> <tr><td></td> - <td>--time</td> + <td>--[no-]time</td> <td>time how long the command takes</td></tr> <tr><td></td> - <td>--profile</td> + <td>--[no-]profile</td> <td>print command execution profile</td></tr> <tr><td></td> <td>--version</td> @@ -2530,7 +2530,7 @@ Dish up an empty repo; serve it cold. <td>--help</td> <td>display help and exit</td></tr> <tr><td></td> - <td>--hidden</td> + <td>--[no-]hidden</td> <td>consider hidden changesets</td></tr> </table> @@ -2661,13 +2661,13 @@ Dish up an empty repo; serve it cold. </p> <table> <tr><td>-A</td> - <td>--after</td> + <td>--[no-]after</td> <td>record delete for missing files</td></tr> <tr><td>-f</td> - <td>--force</td> + <td>--[no-]force</td> <td>forget added files, delete modified files</td></tr> <tr><td>-S</td> - <td>--subrepos</td> + <td>--[no-]subrepos</td> <td>recurse into subrepositories</td></tr> <tr><td>-I</td> <td>--include PATTERN [+]</td> @@ -2690,19 +2690,19 @@ Dish up an empty repo; serve it cold. <td>--noninteractive</td> <td>do not prompt, automatically pick the first choice for all prompts</td></tr> <tr><td>-q</td> - <td>--quiet</td> + <td>--[no-]quiet</td> <td>suppress output</td></tr> <tr><td>-v</td> - <td>--verbose</td> + <td>--[no-]verbose</td> <td>enable additional output</td></tr> <tr><td></td> <td>--config CONFIG [+]</td> <td>set/override config option (use 'section.name=value')</td></tr> <tr><td></td> - <td>--debug</td> + <td>--[no-]debug</td> <td>enable debugging output</td></tr> <tr><td></td> - <td>--debugger</td> + <td>--[no-]debugger</td> <td>start debugger</td></tr> <tr><td></td> <td>--encoding ENCODE</td> @@ -2711,13 +2711,13 @@ Dish up an empty repo; serve it cold. <td>--encodingmode MODE</td> <td>set the charset encoding mode (default: strict)</td></tr> <tr><td></td> - <td>--traceback</td> + <td>--[no-]traceback</td> <td>always print a traceback on exception</td></tr> <tr><td></td> - <td>--time</td> + <td>--[no-]time</td> <td>time how long the command takes</td></tr> <tr><td></td> - <td>--profile</td> + <td>--[no-]profile</td> <td>print command execution profile</td></tr> <tr><td></td> <td>--version</td> @@ -2726,7 +2726,7 @@ Dish up an empty repo; serve it cold. <td>--help</td> <td>display help and exit</td></tr> <tr><td></td> - <td>--hidden</td> + <td>--[no-]hidden</td> <td>consider hidden changesets</td></tr> </table> diff --git a/tests/test-mq-qrefresh-interactive.t b/tests/test-mq-qrefresh-interactive.t --- a/tests/test-mq-qrefresh-interactive.t +++ b/tests/test-mq-qrefresh-interactive.t @@ -31,13 +31,13 @@ help qrefresh (no record) options ([+] can be repeated): - -e --edit invoke editor on commit messages - -g --git use git extended diff format - -s --short refresh only files already in the patch and + -e --[no-]edit invoke editor on commit messages + -g --[no-]git use git extended diff format + -s --[no-]short refresh only files already in the patch and specified files - -U --currentuser add/update author field in patch with current user + -U --[no-]currentuser add/update author field in patch with current user -u --user USER add/update author field in patch with given user - -D --currentdate add/update date field in patch with current date + -D --[no-]currentdate add/update date field in patch with current date -d --date DATE add/update date field in patch with given date -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns @@ -73,19 +73,19 @@ help qrefresh (record) options ([+] can be repeated): - -e --edit invoke editor on commit messages - -g --git use git extended diff format - -s --short refresh only files already in the patch and + -e --[no-]edit invoke editor on commit messages + -g --[no-]git use git extended diff format + -s --[no-]short refresh only files already in the patch and specified files - -U --currentuser add/update author field in patch with current user + -U --[no-]currentuser add/update author field in patch with current user -u --user USER add/update author field in patch with given user - -D --currentdate add/update date field in patch with current date + -D --[no-]currentdate add/update date field in patch with current date -d --date DATE add/update date field in patch with given date -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns -m --message TEXT use text as commit message -l --logfile FILE read commit message from file - -i --interactive interactively select changes to refresh + -i --[no-]interactive interactively select changes to refresh (some details hidden, use --verbose to show complete help) diff --git a/tests/test-qrecord.t b/tests/test-qrecord.t --- a/tests/test-qrecord.t +++ b/tests/test-qrecord.t @@ -59,22 +59,22 @@ help record (record) options ([+] can be repeated): - -A --addremove mark new/missing files as added/removed before - committing - --close-branch mark a branch head as closed - --amend amend the parent of the working directory - -s --secret use the secret phase for committing - -e --edit invoke editor on commit messages - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -m --message TEXT use text as commit message - -l --logfile FILE read commit message from file - -d --date DATE record the specified date as commit date - -u --user USER record the specified user as committer - -S --subrepos recurse into subrepositories - -w --ignore-all-space ignore white space when comparing lines - -b --ignore-space-change ignore changes in the amount of white space - -B --ignore-blank-lines ignore changes whose lines are all blank + -A --[no-]addremove mark new/missing files as added/removed before + committing + --[no-]close-branch mark a branch head as closed + --[no-]amend amend the parent of the working directory + -s --[no-]secret use the secret phase for committing + -e --[no-]edit invoke editor on commit messages + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -m --message TEXT use text as commit message + -l --logfile FILE read commit message from file + -d --date DATE record the specified date as commit date + -u --user USER record the specified user as committer + -S --[no-]subrepos recurse into subrepositories + -w --[no-]ignore-all-space ignore white space when comparing lines + -b --[no-]ignore-space-change ignore changes in the amount of white space + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank (some details hidden, use --verbose to show complete help) @@ -135,20 +135,20 @@ help (mq present) options ([+] can be repeated): - -e --edit invoke editor on commit messages - -g --git use git extended diff format - -U --currentuser add "From: <current user>" to patch - -u --user USER add "From: <USER>" to patch - -D --currentdate add "Date: <current date>" to patch - -d --date DATE add "Date: <DATE>" to patch - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -m --message TEXT use text as commit message - -l --logfile FILE read commit message from file - -w --ignore-all-space ignore white space when comparing lines - -b --ignore-space-change ignore changes in the amount of white space - -B --ignore-blank-lines ignore changes whose lines are all blank - --mq operate on patch repository + -e --[no-]edit invoke editor on commit messages + -g --[no-]git use git extended diff format + -U --[no-]currentuser add "From: <current user>" to patch + -u --user USER add "From: <USER>" to patch + -D --[no-]currentdate add "Date: <current date>" to patch + -d --date DATE add "Date: <DATE>" to patch + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -m --message TEXT use text as commit message + -l --logfile FILE read commit message from file + -w --[no-]ignore-all-space ignore white space when comparing lines + -b --[no-]ignore-space-change ignore changes in the amount of white space + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank + --[no-]mq operate on patch repository (some details hidden, use --verbose to show complete help) diff --git a/tests/test-record.t b/tests/test-record.t --- a/tests/test-record.t +++ b/tests/test-record.t @@ -45,22 +45,22 @@ Record help options ([+] can be repeated): - -A --addremove mark new/missing files as added/removed before - committing - --close-branch mark a branch head as closed - --amend amend the parent of the working directory - -s --secret use the secret phase for committing - -e --edit invoke editor on commit messages - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -m --message TEXT use text as commit message - -l --logfile FILE read commit message from file - -d --date DATE record the specified date as commit date - -u --user USER record the specified user as committer - -S --subrepos recurse into subrepositories - -w --ignore-all-space ignore white space when comparing lines - -b --ignore-space-change ignore changes in the amount of white space - -B --ignore-blank-lines ignore changes whose lines are all blank + -A --[no-]addremove mark new/missing files as added/removed before + committing + --[no-]close-branch mark a branch head as closed + --[no-]amend amend the parent of the working directory + -s --[no-]secret use the secret phase for committing + -e --[no-]edit invoke editor on commit messages + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -m --message TEXT use text as commit message + -l --logfile FILE read commit message from file + -d --date DATE record the specified date as commit date + -u --user USER record the specified user as committer + -S --[no-]subrepos recurse into subrepositories + -w --[no-]ignore-all-space ignore white space when comparing lines + -b --[no-]ignore-space-change ignore changes in the amount of white space + -B --[no-]ignore-blank-lines ignore changes whose lines are all blank (some details hidden, use --verbose to show complete help) diff --git a/tests/test-shelve.t b/tests/test-shelve.t --- a/tests/test-shelve.t +++ b/tests/test-shelve.t @@ -58,22 +58,22 @@ shelve has a help message options ([+] can be repeated): - -A --addremove mark new/missing files as added/removed before + -A --[no-]addremove mark new/missing files as added/removed before shelving - -u --unknown store unknown files in the shelve - --cleanup delete all shelved changes + -u --[no-]unknown store unknown files in the shelve + --[no-]cleanup delete all shelved changes --date DATE shelve with the specified commit date - -d --delete delete the named shelved change(s) - -e --edit invoke editor on commit messages - -l --list list current shelves + -d --[no-]delete delete the named shelved change(s) + -e --[no-]edit invoke editor on commit messages + -l --[no-]list list current shelves -m --message TEXT use text as shelve message -n --name NAME use the given name for the shelved commit - -p --patch show patch - -i --interactive interactive mode, only works while creating a shelve - --stat output diffstat-style summary of changes + -p --[no-]patch show patch + -i --[no-]interactive interactive mode, only works while creating a shelve + --[no-]stat output diffstat-style summary of changes -I --include PATTERN [+] include names matching the given patterns -X --exclude PATTERN [+] exclude names matching the given patterns - --mq operate on patch repository + --[no-]mq operate on patch repository (some details hidden, use --verbose to show complete help) diff --git a/tests/test-strip.t b/tests/test-strip.t --- a/tests/test-strip.t +++ b/tests/test-strip.t @@ -710,12 +710,12 @@ Make sure no one adds back a -b option: -r --rev REV [+] strip specified revision (optional, can specify revisions without this option) - -f --force force removal of changesets, discard uncommitted + -f --[no-]force force removal of changesets, discard uncommitted changes (no backup) - --no-backup no backups - -k --keep do not modify working directory during strip + --[no-]backup no backups + -k --[no-]keep do not modify working directory during strip -B --bookmark VALUE [+] remove revs only reachable from given bookmark - --mq operate on patch repository + --[no-]mq operate on patch repository (use 'hg strip -h' to show more help) [255]