hg status [OPTION]... [FILE]...
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.
'hg 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 (with --copies)
The -t/--terse option abbreviates the output by showing only the directory name if all the files in it share the same status. The option takes an argument indicating the statuses to abbreviate: 'm' for 'modified', 'a' for 'added', 'r' for 'removed', 'd' for 'deleted', 'u' for 'unknown', 'i' for 'ignored' and 'c' for clean.
It abbreviates only those statuses which are passed. Note that clean and ignored files are not displayed with '--terse ic' unless the -c/--clean and -i/--ignored options are also used.
The -v/--verbose option shows information when the repository is in an unfinished merge, shelve, rebase state etc. You can have this behavior turned on by default by enabling the "commands.status.verbose" option.
You can skip displaying some of these states by setting "commands.status.skipstates" to one or more of: 'bisect', 'graft', 'histedit', 'merge', 'rebase', or 'unshelve'.
The following keywords are supported in addition to the common template keywords and functions. See also 'hg help templates'.
- String. Repository-absolute path of the file.
- String. Repository-absolute path of the file originated from. Available if "--copies" is specified.
- String. Character denoting file's status.
- show changes in the working directory relative to a changeset:
hg status --rev 9353
- show changes in the working directory relative to the current directory (see 'hg help patterns' for more information):
hg status re:
- show all changes including copies in an existing changeset:
hg status --copies --change 9353
- get a NUL separated list of added files, suitable for xargs:
hg status -an0
- show more information about the repository status, abbreviating added, removed, modified, deleted, and untracked paths:
hg status -v -t mardu
Returns 0 on success.
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|
|-t||--terse VALUE||show the terse output (EXPERIMENTAL) (default: nothing)|
|-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|
|-S||--subrepos||recurse into subrepositories|
|-T||--template TEMPLATE||display with template|
global options ([+] can be repeated):
|-R||--repository REPO||repository root directory or name of overlay bundle file|
|--cwd DIR||change working directory|
|-y||--noninteractive||do not prompt, automatically pick the first choice for all prompts|
|-v||--verbose||enable additional output|
|--color TYPE||when to colorize (boolean, always, auto, never, or debug)|
|--config CONFIG [+]||set/override config option (use 'section.name=value')|
|--debug||enable debugging output|
|--encoding ENCODE||set the charset encoding (default: UTF-8)|
|--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|
|--hidden||consider hidden changesets|
|--pager TYPE||when to paginate (boolean, always, auto, or never) (default: auto)|