Mercurial > hg
changeset 12073:adfff89e6058
tests: unify test-help
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Fri, 27 Aug 2010 16:25:47 +0200 |
parents | 010025717202 |
children | 35c143e85b1b |
files | tests/test-help tests/test-help.out tests/test-help.t |
diffstat | 3 files changed, 744 insertions(+), 741 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-help Fri Aug 27 00:27:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -#!/bin/sh - -hg -hg -q -hg help -hg -q help - -echo %% test short command list with verbose option -hg -v help shortlist | sed 's/[(]version [^)]*[)]/(version xxx)/' - -hg add -h - -echo %% verbose help for add -hg add -hv - -echo %% test help option with version option -hg add -h --version | sed 's/[(]version [^)]*[)]/(version xxx)/' - -hg add --skjdfks - -echo %% test ambiguous command help -hg help ad - -echo %% test command without options -hg help verify - -hg help diff -hg help status -hg -q help status -hg help foo -hg skjdfks - -cat > helpext.py <<EOF -import os -from mercurial import commands - -def nohelp(ui, *args, **kwargs): - pass - -cmdtable = { - "nohelp": (nohelp, [], "hg nohelp"), -} - -commands.norepo += ' nohelp' -EOF -abspath=`pwd`/helpext.py - -echo '[extensions]' >> $HGRCPATH -echo "helpext = $abspath" >> $HGRCPATH - -echo %% test command with no help text -hg help nohelp - -echo %% test that default list of commands omits extension commands -hg help - -echo %% test list of commands with command with no help text -hg help helpext - -echo %% test a help topic -hg help revs - -exit 0
--- a/tests/test-help.out Fri Aug 27 00:27:40 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,678 +0,0 @@ -Mercurial Distributed SCM - -basic commands: - - add add the specified files on the next commit - annotate show changeset information by line for each file - clone make a copy of an existing repository - commit commit the specified files or all outstanding changes - diff diff repository (or selected files) - export dump the header and diffs for one or more changesets - forget forget the specified files on the next commit - init create a new repository in the given directory - log show revision history of entire repository or files - merge merge working directory with another revision - pull pull changes from the specified source - push push changes to the specified destination - remove remove the specified files on the next commit - serve start stand-alone webserver - status show changed files in the working directory - summary summarize working directory state - update update working directory (or switch revisions) - -use "hg help" for the full list of commands or "hg -v" for details - add add the specified files on the next commit - annotate show changeset information by line for each file - clone make a copy of an existing repository - commit commit the specified files or all outstanding changes - diff diff repository (or selected files) - export dump the header and diffs for one or more changesets - forget forget the specified files on the next commit - init create a new repository in the given directory - log show revision history of entire repository or files - merge merge working directory with another revision - pull pull changes from the specified source - push push changes to the specified destination - remove remove the specified files on the next commit - serve start stand-alone webserver - status show changed files in the working directory - summary summarize working directory state - update update working directory (or switch revisions) -Mercurial Distributed SCM - -list of commands: - - add add the specified files on the next commit - addremove add all new files, delete all missing files - annotate show changeset information by line for each file - archive create an unversioned archive of a repository revision - backout reverse effect of earlier changeset - bisect subdivision search of changesets - branch set or show the current branch name - branches list repository named branches - bundle create a changegroup file - cat output the current or given revision of files - clone make a copy of an existing repository - commit commit the specified files or all outstanding changes - copy mark files as copied for the next commit - diff diff repository (or selected files) - export dump the header and diffs for one or more changesets - forget forget the specified files on the next commit - grep search for a pattern in specified files and revisions - heads show current repository heads or show branch heads - help show help for a given topic or a help overview - identify identify the working copy or specified revision - import import an ordered set of patches - incoming show new changesets found in source - init create a new repository in the given directory - locate locate files matching specific patterns - log show revision history of entire repository or files - manifest output the current or given revision of the project manifest - merge merge working directory with another revision - outgoing show changesets not found in the destination - parents show the parents of the working directory or revision - paths show aliases for remote repositories - pull pull changes from the specified source - push push changes to the specified destination - recover roll back an interrupted transaction - remove remove the specified files on the next commit - rename rename files; equivalent of copy + remove - resolve redo merges or set/view the merge status of files - revert restore individual files or directories to an earlier state - rollback roll back the last transaction (dangerous) - root print the root (top) of the current working directory - serve start stand-alone webserver - showconfig show combined config settings from all hgrc files - status show changed files in the working directory - summary summarize working directory state - tag add one or more tags for the current or given revision - tags list repository tags - tip show the tip revision - unbundle apply one or more changegroup files - update update working directory (or switch revisions) - verify verify the integrity of the repository - version output version and copyright information - -additional help topics: - - config Configuration Files - dates Date Formats - patterns File Name Patterns - environment Environment Variables - revisions Specifying Single Revisions - multirevs Specifying Multiple Revisions - revsets Specifying Revision Sets - diffs Diff Formats - templating Template Usage - urls URL Paths - extensions Using additional features - hgweb Configuring hgweb - glossary Glossary - -use "hg -v help" to show aliases and global options - add add the specified files on the next commit - addremove add all new files, delete all missing files - annotate show changeset information by line for each file - archive create an unversioned archive of a repository revision - backout reverse effect of earlier changeset - bisect subdivision search of changesets - branch set or show the current branch name - branches list repository named branches - bundle create a changegroup file - cat output the current or given revision of files - clone make a copy of an existing repository - commit commit the specified files or all outstanding changes - copy mark files as copied for the next commit - diff diff repository (or selected files) - export dump the header and diffs for one or more changesets - forget forget the specified files on the next commit - grep search for a pattern in specified files and revisions - heads show current repository heads or show branch heads - help show help for a given topic or a help overview - identify identify the working copy or specified revision - import import an ordered set of patches - incoming show new changesets found in source - init create a new repository in the given directory - locate locate files matching specific patterns - log show revision history of entire repository or files - manifest output the current or given revision of the project manifest - merge merge working directory with another revision - outgoing show changesets not found in the destination - parents show the parents of the working directory or revision - paths show aliases for remote repositories - pull pull changes from the specified source - push push changes to the specified destination - recover roll back an interrupted transaction - remove remove the specified files on the next commit - rename rename files; equivalent of copy + remove - resolve redo merges or set/view the merge status of files - revert restore individual files or directories to an earlier state - rollback roll back the last transaction (dangerous) - root print the root (top) of the current working directory - serve start stand-alone webserver - showconfig show combined config settings from all hgrc files - status show changed files in the working directory - summary summarize working directory state - tag add one or more tags for the current or given revision - tags list repository tags - tip show the tip revision - unbundle apply one or more changegroup files - update update working directory (or switch revisions) - verify verify the integrity of the repository - version output version and copyright information - -additional help topics: - - config Configuration Files - dates Date Formats - patterns File Name Patterns - environment Environment Variables - revisions Specifying Single Revisions - multirevs Specifying Multiple Revisions - revsets Specifying Revision Sets - diffs Diff Formats - templating Template Usage - urls URL Paths - extensions Using additional features - hgweb Configuring hgweb - glossary Glossary -%% test short command list with verbose option -Mercurial Distributed SCM (version xxx) - -Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -basic commands: - - add: - add the specified files on the next commit - annotate, blame: - show changeset information by line for each file - clone: - make a copy of an existing repository - commit, ci: - commit the specified files or all outstanding changes - diff: - diff repository (or selected files) - export: - dump the header and diffs for one or more changesets - forget: - forget the specified files on the next commit - init: - create a new repository in the given directory - log, history: - show revision history of entire repository or files - merge: - merge working directory with another revision - pull: - pull changes from the specified source - push: - push changes to the specified destination - remove, rm: - remove the specified files on the next commit - serve: - start stand-alone webserver - status, st: - show changed files in the working directory - summary, sum: - summarize working directory state - update, up, checkout, co: - update working directory (or switch revisions) - -global options: - -R --repository REPO repository root directory or name of overlay bundle - file - --cwd DIR change working directory - -y --noninteractive do not prompt, assume 'yes' for any required answers - -q --quiet suppress output - -v --verbose enable additional output - --config CONFIG [+] set/override config option (use 'section.name=value') - --debug enable debugging output - --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 - --version output version information and exit - -h --help display help and exit - -[+] marked option can be specified multiple times - -use "hg help" for the full list of commands -hg add [OPTION]... [FILE]... - -add the specified files on the next commit - - Schedule files to be version controlled and added to the repository. - - The files will be added to the repository at the next commit. To undo an - add before that, see "hg forget". - - If no names are given, add all files to the repository. - - Returns 0 if all files are successfully added. - -use "hg -v help add" to show verbose help - -options: - - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -n --dry-run do not perform actions, just print output - -[+] marked option can be specified multiple times - -use "hg -v help add" to show global options -%% verbose help for add -hg add [OPTION]... [FILE]... - -add the specified files on the next commit - - Schedule files to be version controlled and added to the repository. - - The files will be added to the repository at the next commit. To undo an - add before that, see "hg forget". - - If no names are given, add all files to the repository. - - An example showing how new (unknown) files are added automatically by "hg - add": - - $ ls - foo.c - $ hg status - ? foo.c - $ hg add - adding foo.c - $ hg status - A foo.c - - Returns 0 if all files are successfully added. - -options: - - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -n --dry-run do not perform actions, just print output - -global options: - -R --repository REPO repository root directory or name of overlay bundle - file - --cwd DIR change working directory - -y --noninteractive do not prompt, assume 'yes' for any required - answers - -q --quiet suppress output - -v --verbose enable additional output - --config CONFIG [+] set/override config option (use - 'section.name=value') - --debug enable debugging output - --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 - --version output version information and exit - -h --help display help and exit - -[+] marked option can be specified multiple times -%% test help option with version option -Mercurial Distributed SCM (version xxx) - -Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -hg add [OPTION]... [FILE]... - -add the specified files on the next commit - - Schedule files to be version controlled and added to the repository. - - The files will be added to the repository at the next commit. To undo an - add before that, see "hg forget". - - If no names are given, add all files to the repository. - - Returns 0 if all files are successfully added. - -use "hg -v help add" to show verbose help - -options: - - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -n --dry-run do not perform actions, just print output - -[+] marked option can be specified multiple times - -use "hg -v help add" to show global options -hg add: option --skjdfks not recognized -hg add [OPTION]... [FILE]... - -add the specified files on the next commit - - Schedule files to be version controlled and added to the repository. - - The files will be added to the repository at the next commit. To undo an - add before that, see "hg forget". - - If no names are given, add all files to the repository. - - Returns 0 if all files are successfully added. - -use "hg -v help add" to show verbose help - -options: - - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -n --dry-run do not perform actions, just print output - -[+] marked option can be specified multiple times - -use "hg -v help add" to show global options -%% test ambiguous command help -list of commands: - - add add the specified files on the next commit - addremove add all new files, delete all missing files - -use "hg -v help ad" to show aliases and global options -%% test command without options -hg verify - -verify the integrity of the repository - - Verify the integrity of the current repository. - - This will perform an extensive check of the repository's integrity, - validating the hashes and checksums of each entry in the changelog, - manifest, and tracked files, as well as the integrity of their crosslinks - and indices. - - Returns 0 on success, 1 if errors are encountered. - -use "hg -v help verify" to show global options -hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]... - -diff repository (or selected files) - - Show differences between revisions for the specified files. - - Differences between files are shown using the unified diff format. - - NOTE: diff may generate unexpected results for merges, as it will default - to comparing against the working directory's first parent changeset if no - revisions are specified. - - When two revision arguments are given, then changes are shown between - those revisions. If only one revision is specified then that revision is - compared to the working directory, and, when no revisions are specified, - the working directory files are compared to its parent. - - Alternatively you can specify -c/--change with a revision to see the - changes in that changeset relative to its first parent. - - Without the -a/--text option, diff will avoid generating diffs of files it - detects as binary. With -a, diff will generate a diff anyway, probably - with undesirable results. - - Use the -g/--git option to generate diffs in the git extended diff format. - For more information, read "hg help diffs". - - Returns 0 on success. - -options: - - -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 - -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 - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -[+] marked option can be specified multiple times - -use "hg -v help diff" to show global options -hg status [OPTION]... [FILE]... - -aliases: st - -show changed files in the working directory - - Show status of files in the repository. If names are given, only files - that match are shown. Files that are clean or ignored or the source of a - copy/move operation, are not listed unless -c/--clean, -i/--ignored, - -C/--copies or -A/--all are given. Unless options described with "show - only ..." are given, the options -mardu are used. - - Option -q/--quiet hides untracked (unknown and ignored) files unless - explicitly requested with -u/--unknown or -i/--ignored. - - NOTE: status may appear to disagree with diff if permissions have changed - or a merge has occurred. The standard diff format does not report - permission changes and diff only reports changes relative to one merge - parent. - - If one revision is given, it is used as the base revision. If two - revisions are given, the differences between them are shown. The --change - option can also be used as a shortcut to list the changed files of a - revision from its first parent. - - The codes used to show the status of files are: - - M = modified - A = added - R = removed - C = clean - ! = missing (deleted by non-hg command, but still tracked) - ? = not tracked - I = ignored - = origin of the previous file listed as A (added) - - Returns 0 on success. - -options: - - -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 - --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 - -[+] marked option can be specified multiple times - -use "hg -v help status" to show global options -hg status [OPTION]... [FILE]... - -show changed files in the working directory -hg: unknown command 'foo' -Mercurial Distributed SCM - -basic commands: - - add add the specified files on the next commit - annotate show changeset information by line for each file - clone make a copy of an existing repository - commit commit the specified files or all outstanding changes - diff diff repository (or selected files) - export dump the header and diffs for one or more changesets - forget forget the specified files on the next commit - init create a new repository in the given directory - log show revision history of entire repository or files - merge merge working directory with another revision - pull pull changes from the specified source - push push changes to the specified destination - remove remove the specified files on the next commit - serve start stand-alone webserver - status show changed files in the working directory - summary summarize working directory state - update update working directory (or switch revisions) - -use "hg help" for the full list of commands or "hg -v" for details -hg: unknown command 'skjdfks' -Mercurial Distributed SCM - -basic commands: - - add add the specified files on the next commit - annotate show changeset information by line for each file - clone make a copy of an existing repository - commit commit the specified files or all outstanding changes - diff diff repository (or selected files) - export dump the header and diffs for one or more changesets - forget forget the specified files on the next commit - init create a new repository in the given directory - log show revision history of entire repository or files - merge merge working directory with another revision - pull pull changes from the specified source - push push changes to the specified destination - remove remove the specified files on the next commit - serve start stand-alone webserver - status show changed files in the working directory - summary summarize working directory state - update update working directory (or switch revisions) - -use "hg help" for the full list of commands or "hg -v" for details -%% test command with no help text -hg nohelp - -(no help text available) - -use "hg -v help nohelp" to show global options -%% test that default list of commands omits extension commands -Mercurial Distributed SCM - -list of commands: - - add add the specified files on the next commit - addremove add all new files, delete all missing files - annotate show changeset information by line for each file - archive create an unversioned archive of a repository revision - backout reverse effect of earlier changeset - bisect subdivision search of changesets - branch set or show the current branch name - branches list repository named branches - bundle create a changegroup file - cat output the current or given revision of files - clone make a copy of an existing repository - commit commit the specified files or all outstanding changes - copy mark files as copied for the next commit - diff diff repository (or selected files) - export dump the header and diffs for one or more changesets - forget forget the specified files on the next commit - grep search for a pattern in specified files and revisions - heads show current repository heads or show branch heads - help show help for a given topic or a help overview - identify identify the working copy or specified revision - import import an ordered set of patches - incoming show new changesets found in source - init create a new repository in the given directory - locate locate files matching specific patterns - log show revision history of entire repository or files - manifest output the current or given revision of the project manifest - merge merge working directory with another revision - outgoing show changesets not found in the destination - parents show the parents of the working directory or revision - paths show aliases for remote repositories - pull pull changes from the specified source - push push changes to the specified destination - recover roll back an interrupted transaction - remove remove the specified files on the next commit - rename rename files; equivalent of copy + remove - resolve redo merges or set/view the merge status of files - revert restore individual files or directories to an earlier state - rollback roll back the last transaction (dangerous) - root print the root (top) of the current working directory - serve start stand-alone webserver - showconfig show combined config settings from all hgrc files - status show changed files in the working directory - summary summarize working directory state - tag add one or more tags for the current or given revision - tags list repository tags - tip show the tip revision - unbundle apply one or more changegroup files - update update working directory (or switch revisions) - verify verify the integrity of the repository - version output version and copyright information - -enabled extensions: - - helpext (no help text available) - -additional help topics: - - config Configuration Files - dates Date Formats - patterns File Name Patterns - environment Environment Variables - revisions Specifying Single Revisions - multirevs Specifying Multiple Revisions - revsets Specifying Revision Sets - diffs Diff Formats - templating Template Usage - urls URL Paths - extensions Using additional features - hgweb Configuring hgweb - glossary Glossary - -use "hg -v help" to show aliases and global options -%% test list of commands with command with no help text -helpext extension - no help text available - -list of commands: - - nohelp (no help text available) - -use "hg -v help helpext" to show aliases and global options -%% test a help topic -Specifying Single Revisions - - Mercurial supports several ways to specify individual revisions. - - A plain integer is treated as a revision number. Negative integers are - treated as sequential offsets from the tip, with -1 denoting the tip, -2 - denoting the revision prior to the tip, and so forth. - - A 40-digit hexadecimal string is treated as a unique revision identifier. - - A hexadecimal string less than 40 characters long is treated as a unique - revision identifier and is referred to as a short-form identifier. A - short-form identifier is only valid if it is the prefix of exactly one - full-length identifier. - - Any other string is treated as a tag or branch name. A tag name is a - symbolic name associated with a revision identifier. A branch name denotes - the tipmost revision of that branch. Tag and branch names must not contain - the ":" character. - - The reserved name "tip" is a special tag that always identifies the most - recent revision. - - The reserved name "null" indicates the null revision. This is the revision - of an empty repository, and the parent of revision 0. - - The reserved name "." indicates the working directory parent. If no - working directory is checked out, it is equivalent to null. If an - uncommitted merge is in progress, "." is the revision of the first parent.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-help.t Fri Aug 27 16:25:47 2010 +0200 @@ -0,0 +1,744 @@ +#!/bin/sh + + $ hg + Mercurial Distributed SCM + + basic commands: + + add add the specified files on the next commit + annotate show changeset information by line for each file + clone make a copy of an existing repository + commit commit the specified files or all outstanding changes + diff diff repository (or selected files) + export dump the header and diffs for one or more changesets + forget forget the specified files on the next commit + init create a new repository in the given directory + log show revision history of entire repository or files + merge merge working directory with another revision + pull pull changes from the specified source + push push changes to the specified destination + remove remove the specified files on the next commit + serve start stand-alone webserver + status show changed files in the working directory + summary summarize working directory state + update update working directory (or switch revisions) + + use "hg help" for the full list of commands or "hg -v" for details + + $ hg -q + add add the specified files on the next commit + annotate show changeset information by line for each file + clone make a copy of an existing repository + commit commit the specified files or all outstanding changes + diff diff repository (or selected files) + export dump the header and diffs for one or more changesets + forget forget the specified files on the next commit + init create a new repository in the given directory + log show revision history of entire repository or files + merge merge working directory with another revision + pull pull changes from the specified source + push push changes to the specified destination + remove remove the specified files on the next commit + serve start stand-alone webserver + status show changed files in the working directory + summary summarize working directory state + update update working directory (or switch revisions) + + $ hg help + Mercurial Distributed SCM + + list of commands: + + add add the specified files on the next commit + addremove add all new files, delete all missing files + annotate show changeset information by line for each file + archive create an unversioned archive of a repository revision + backout reverse effect of earlier changeset + bisect subdivision search of changesets + branch set or show the current branch name + branches list repository named branches + bundle create a changegroup file + cat output the current or given revision of files + clone make a copy of an existing repository + commit commit the specified files or all outstanding changes + copy mark files as copied for the next commit + diff diff repository (or selected files) + export dump the header and diffs for one or more changesets + forget forget the specified files on the next commit + grep search for a pattern in specified files and revisions + heads show current repository heads or show branch heads + help show help for a given topic or a help overview + identify identify the working copy or specified revision + import import an ordered set of patches + incoming show new changesets found in source + init create a new repository in the given directory + locate locate files matching specific patterns + log show revision history of entire repository or files + manifest output the current or given revision of the project manifest + merge merge working directory with another revision + outgoing show changesets not found in the destination + parents show the parents of the working directory or revision + paths show aliases for remote repositories + pull pull changes from the specified source + push push changes to the specified destination + recover roll back an interrupted transaction + remove remove the specified files on the next commit + rename rename files; equivalent of copy + remove + resolve redo merges or set/view the merge status of files + revert restore individual files or directories to an earlier state + rollback roll back the last transaction (dangerous) + root print the root (top) of the current working directory + serve start stand-alone webserver + showconfig show combined config settings from all hgrc files + status show changed files in the working directory + summary summarize working directory state + tag add one or more tags for the current or given revision + tags list repository tags + tip show the tip revision + unbundle apply one or more changegroup files + update update working directory (or switch revisions) + verify verify the integrity of the repository + version output version and copyright information + + additional help topics: + + config Configuration Files + dates Date Formats + patterns File Name Patterns + environment Environment Variables + revisions Specifying Single Revisions + multirevs Specifying Multiple Revisions + revsets Specifying Revision Sets + diffs Diff Formats + templating Template Usage + urls URL Paths + extensions Using additional features + hgweb Configuring hgweb + glossary Glossary + + use "hg -v help" to show aliases and global options + + $ hg -q help + add add the specified files on the next commit + addremove add all new files, delete all missing files + annotate show changeset information by line for each file + archive create an unversioned archive of a repository revision + backout reverse effect of earlier changeset + bisect subdivision search of changesets + branch set or show the current branch name + branches list repository named branches + bundle create a changegroup file + cat output the current or given revision of files + clone make a copy of an existing repository + commit commit the specified files or all outstanding changes + copy mark files as copied for the next commit + diff diff repository (or selected files) + export dump the header and diffs for one or more changesets + forget forget the specified files on the next commit + grep search for a pattern in specified files and revisions + heads show current repository heads or show branch heads + help show help for a given topic or a help overview + identify identify the working copy or specified revision + import import an ordered set of patches + incoming show new changesets found in source + init create a new repository in the given directory + locate locate files matching specific patterns + log show revision history of entire repository or files + manifest output the current or given revision of the project manifest + merge merge working directory with another revision + outgoing show changesets not found in the destination + parents show the parents of the working directory or revision + paths show aliases for remote repositories + pull pull changes from the specified source + push push changes to the specified destination + recover roll back an interrupted transaction + remove remove the specified files on the next commit + rename rename files; equivalent of copy + remove + resolve redo merges or set/view the merge status of files + revert restore individual files or directories to an earlier state + rollback roll back the last transaction (dangerous) + root print the root (top) of the current working directory + serve start stand-alone webserver + showconfig show combined config settings from all hgrc files + status show changed files in the working directory + summary summarize working directory state + tag add one or more tags for the current or given revision + tags list repository tags + tip show the tip revision + unbundle apply one or more changegroup files + update update working directory (or switch revisions) + verify verify the integrity of the repository + version output version and copyright information + + additional help topics: + + config Configuration Files + dates Date Formats + patterns File Name Patterns + environment Environment Variables + revisions Specifying Single Revisions + multirevs Specifying Multiple Revisions + revsets Specifying Revision Sets + diffs Diff Formats + templating Template Usage + urls URL Paths + extensions Using additional features + hgweb Configuring hgweb + glossary Glossary + +Test short command list with verbose option + + $ hg -v help shortlist + Mercurial Distributed SCM \(version .*?\) + + Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + basic commands: + + add: + add the specified files on the next commit + annotate, blame: + show changeset information by line for each file + clone: + make a copy of an existing repository + commit, ci: + commit the specified files or all outstanding changes + diff: + diff repository (or selected files) + export: + dump the header and diffs for one or more changesets + forget: + forget the specified files on the next commit + init: + create a new repository in the given directory + log, history: + show revision history of entire repository or files + merge: + merge working directory with another revision + pull: + pull changes from the specified source + push: + push changes to the specified destination + remove, rm: + remove the specified files on the next commit + serve: + start stand-alone webserver + status, st: + show changed files in the working directory + summary, sum: + summarize working directory state + update, up, checkout, co: + update working directory (or switch revisions) + + global options: + -R --repository REPO repository root directory or name of overlay bundle + file + --cwd DIR change working directory + -y --noninteractive do not prompt, assume 'yes' for any required answers + -q --quiet suppress output + -v --verbose enable additional output + --config CONFIG [+] set/override config option (use 'section.name=value') + --debug enable debugging output + --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 + --version output version information and exit + -h --help display help and exit + + [+] marked option can be specified multiple times + + use "hg help" for the full list of commands + + $ hg add -h + hg add [OPTION]... [FILE]... + + add the specified files on the next commit + + Schedule files to be version controlled and added to the repository. + + The files will be added to the repository at the next commit. To undo an + add before that, see "hg forget". + + If no names are given, add all files to the repository. + + Returns 0 if all files are successfully added. + + use "hg -v help add" to show verbose help + + options: + + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -n --dry-run do not perform actions, just print output + + [+] marked option can be specified multiple times + + use "hg -v help add" to show global options + +Verbose help for add + + $ hg add -hv + hg add [OPTION]... [FILE]... + + add the specified files on the next commit + + Schedule files to be version controlled and added to the repository. + + The files will be added to the repository at the next commit. To undo an + add before that, see "hg forget". + + If no names are given, add all files to the repository. + + An example showing how new (unknown) files are added automatically by "hg + add": + + $ ls + foo.c + $ hg status + ? foo.c + $ hg add + adding foo.c + $ hg status + A foo.c + + Returns 0 if all files are successfully added. + + options: + + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -n --dry-run do not perform actions, just print output + + global options: + -R --repository REPO repository root directory or name of overlay bundle + file + --cwd DIR change working directory + -y --noninteractive do not prompt, assume 'yes' for any required + answers + -q --quiet suppress output + -v --verbose enable additional output + --config CONFIG [+] set/override config option (use + 'section.name=value') + --debug enable debugging output + --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 + --version output version information and exit + -h --help display help and exit + + [+] marked option can be specified multiple times + +Test help option with version option + + $ hg add -h --version + Mercurial Distributed SCM \(version .+?\) + + Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + hg add [OPTION]... [FILE]... + + add the specified files on the next commit + + Schedule files to be version controlled and added to the repository. + + The files will be added to the repository at the next commit. To undo an + add before that, see "hg forget". + + If no names are given, add all files to the repository. + + Returns 0 if all files are successfully added. + + use "hg -v help add" to show verbose help + + options: + + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -n --dry-run do not perform actions, just print output + + [+] marked option can be specified multiple times + + use "hg -v help add" to show global options + + $ hg add --skjdfks + hg add: option --skjdfks not recognized + hg add [OPTION]... [FILE]... + + add the specified files on the next commit + + Schedule files to be version controlled and added to the repository. + + The files will be added to the repository at the next commit. To undo an + add before that, see "hg forget". + + If no names are given, add all files to the repository. + + Returns 0 if all files are successfully added. + + use "hg -v help add" to show verbose help + + options: + + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -n --dry-run do not perform actions, just print output + + [+] marked option can be specified multiple times + + use "hg -v help add" to show global options + +Test ambiguous command help + + $ hg help ad + list of commands: + + add add the specified files on the next commit + addremove add all new files, delete all missing files + + use "hg -v help ad" to show aliases and global options + +Test command without options + + $ hg help verify + hg verify + + verify the integrity of the repository + + Verify the integrity of the current repository. + + This will perform an extensive check of the repository's integrity, + validating the hashes and checksums of each entry in the changelog, + manifest, and tracked files, as well as the integrity of their crosslinks + and indices. + + Returns 0 on success, 1 if errors are encountered. + + use "hg -v help verify" to show global options + + $ hg help diff + hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]... + + diff repository (or selected files) + + Show differences between revisions for the specified files. + + Differences between files are shown using the unified diff format. + + NOTE: diff may generate unexpected results for merges, as it will default + to comparing against the working directory's first parent changeset if no + revisions are specified. + + When two revision arguments are given, then changes are shown between + those revisions. If only one revision is specified then that revision is + compared to the working directory, and, when no revisions are specified, + the working directory files are compared to its parent. + + Alternatively you can specify -c/--change with a revision to see the + changes in that changeset relative to its first parent. + + Without the -a/--text option, diff will avoid generating diffs of files it + detects as binary. With -a, diff will generate a diff anyway, probably + with undesirable results. + + Use the -g/--git option to generate diffs in the git extended diff format. + For more information, read "hg help diffs". + + Returns 0 on success. + + options: + + -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 + -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 + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + + [+] marked option can be specified multiple times + + use "hg -v help diff" to show global options + + $ hg help status + hg status [OPTION]... [FILE]... + + aliases: st + + show changed files in the working directory + + Show status of files in the repository. If names are given, only files + that match are shown. Files that are clean or ignored or the source of a + copy/move operation, are not listed unless -c/--clean, -i/--ignored, + -C/--copies or -A/--all are given. Unless options described with "show + only ..." are given, the options -mardu are used. + + Option -q/--quiet hides untracked (unknown and ignored) files unless + explicitly requested with -u/--unknown or -i/--ignored. + + NOTE: status may appear to disagree with diff if permissions have changed + or a merge has occurred. The standard diff format does not report + permission changes and diff only reports changes relative to one merge + parent. + + If one revision is given, it is used as the base revision. If two + revisions are given, the differences between them are shown. The --change + option can also be used as a shortcut to list the changed files of a + revision from its first parent. + + The codes used to show the status of files are: + + M = modified + A = added + R = removed + C = clean + ! = missing (deleted by non-hg command, but still tracked) + ? = not tracked + I = ignored + = origin of the previous file listed as A (added) + + Returns 0 on success. + + options: + + -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 + --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 + + [+] marked option can be specified multiple times + + use "hg -v help status" to show global options + + $ hg -q help status + hg status [OPTION]... [FILE]... + + show changed files in the working directory + + $ hg help foo + hg: unknown command 'foo' + Mercurial Distributed SCM + + basic commands: + + add add the specified files on the next commit + annotate show changeset information by line for each file + clone make a copy of an existing repository + commit commit the specified files or all outstanding changes + diff diff repository (or selected files) + export dump the header and diffs for one or more changesets + forget forget the specified files on the next commit + init create a new repository in the given directory + log show revision history of entire repository or files + merge merge working directory with another revision + pull pull changes from the specified source + push push changes to the specified destination + remove remove the specified files on the next commit + serve start stand-alone webserver + status show changed files in the working directory + summary summarize working directory state + update update working directory (or switch revisions) + + use "hg help" for the full list of commands or "hg -v" for details + + $ hg skjdfks + hg: unknown command 'skjdfks' + Mercurial Distributed SCM + + basic commands: + + add add the specified files on the next commit + annotate show changeset information by line for each file + clone make a copy of an existing repository + commit commit the specified files or all outstanding changes + diff diff repository (or selected files) + export dump the header and diffs for one or more changesets + forget forget the specified files on the next commit + init create a new repository in the given directory + log show revision history of entire repository or files + merge merge working directory with another revision + pull pull changes from the specified source + push push changes to the specified destination + remove remove the specified files on the next commit + serve start stand-alone webserver + status show changed files in the working directory + summary summarize working directory state + update update working directory (or switch revisions) + + use "hg help" for the full list of commands or "hg -v" for details + + $ cat > helpext.py <<EOF + > import os + > from mercurial import commands + > + > def nohelp(ui, *args, **kwargs): + > pass + > + > cmdtable = { + > "nohelp": (nohelp, [], "hg nohelp"), + > } + > + > commands.norepo += ' nohelp' + > EOF + $ echo '[extensions]' >> $HGRCPATH + $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH + +Test command with no help text + + $ hg help nohelp + hg nohelp + + (no help text available) + + use "hg -v help nohelp" to show global options + +Test that default list of commands omits extension commands + + $ hg help + Mercurial Distributed SCM + + list of commands: + + add add the specified files on the next commit + addremove add all new files, delete all missing files + annotate show changeset information by line for each file + archive create an unversioned archive of a repository revision + backout reverse effect of earlier changeset + bisect subdivision search of changesets + branch set or show the current branch name + branches list repository named branches + bundle create a changegroup file + cat output the current or given revision of files + clone make a copy of an existing repository + commit commit the specified files or all outstanding changes + copy mark files as copied for the next commit + diff diff repository (or selected files) + export dump the header and diffs for one or more changesets + forget forget the specified files on the next commit + grep search for a pattern in specified files and revisions + heads show current repository heads or show branch heads + help show help for a given topic or a help overview + identify identify the working copy or specified revision + import import an ordered set of patches + incoming show new changesets found in source + init create a new repository in the given directory + locate locate files matching specific patterns + log show revision history of entire repository or files + manifest output the current or given revision of the project manifest + merge merge working directory with another revision + outgoing show changesets not found in the destination + parents show the parents of the working directory or revision + paths show aliases for remote repositories + pull pull changes from the specified source + push push changes to the specified destination + recover roll back an interrupted transaction + remove remove the specified files on the next commit + rename rename files; equivalent of copy + remove + resolve redo merges or set/view the merge status of files + revert restore individual files or directories to an earlier state + rollback roll back the last transaction (dangerous) + root print the root (top) of the current working directory + serve start stand-alone webserver + showconfig show combined config settings from all hgrc files + status show changed files in the working directory + summary summarize working directory state + tag add one or more tags for the current or given revision + tags list repository tags + tip show the tip revision + unbundle apply one or more changegroup files + update update working directory (or switch revisions) + verify verify the integrity of the repository + version output version and copyright information + + enabled extensions: + + helpext (no help text available) + + additional help topics: + + config Configuration Files + dates Date Formats + patterns File Name Patterns + environment Environment Variables + revisions Specifying Single Revisions + multirevs Specifying Multiple Revisions + revsets Specifying Revision Sets + diffs Diff Formats + templating Template Usage + urls URL Paths + extensions Using additional features + hgweb Configuring hgweb + glossary Glossary + + use "hg -v help" to show aliases and global options + +Test list of commands with command with no help text + + $ hg help helpext + helpext extension - no help text available + + list of commands: + + nohelp (no help text available) + + use "hg -v help helpext" to show aliases and global options + +Test a help topic + + $ hg help revs + Specifying Single Revisions + + Mercurial supports several ways to specify individual revisions. + + A plain integer is treated as a revision number. Negative integers are + treated as sequential offsets from the tip, with -1 denoting the tip, -2 + denoting the revision prior to the tip, and so forth. + + A 40-digit hexadecimal string is treated as a unique revision identifier. + + A hexadecimal string less than 40 characters long is treated as a unique + revision identifier and is referred to as a short-form identifier. A + short-form identifier is only valid if it is the prefix of exactly one + full-length identifier. + + Any other string is treated as a tag or branch name. A tag name is a + symbolic name associated with a revision identifier. A branch name denotes + the tipmost revision of that branch. Tag and branch names must not contain + the ":" character. + + The reserved name "tip" is a special tag that always identifies the most + recent revision. + + The reserved name "null" indicates the null revision. This is the revision + of an empty repository, and the parent of revision 0. + + The reserved name "." indicates the working directory parent. If no + working directory is checked out, it is equivalent to null. If an + uncommitted merge is in progress, "." is the revision of the first parent.