Contents
hg grep [--diff] [OPTION]... PATTERN [FILE]...
Search the working directory or revision history for a regular expression in the specified files for the entire repository.
By default, grep searches the repository files in the working directory and prints the files where it finds a match. To specify historical revisions instead of the working directory, use the --rev flag.
To search instead historical revision differences that contains a change in match status ("-" for a match that becomes a non-match, or "+" for a non-match that becomes a match), use the --diff flag.
PATTERN can be any Python (roughly Perl-compatible) regular expression.
If no FILEs are specified and the --rev flag isn't supplied, all files in the working directory are searched. When using the --rev flag and specifying FILEs, use the --follow argument to also follow the specified FILEs across renames and copies.
Template:
The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.
| change: | String. Character denoting insertion + or removal -. Available if --diff is specified. |
|---|---|
| lineno: | Integer. Line number of the match. |
| path: | String. Repository-absolute path of the file. |
| texts: | List of text chunks. |
And each entry of {texts} provides the following sub-keywords.
| matched: | Boolean. True if the chunk matches the specified pattern. |
|---|---|
| text: | String. Chunk content. |
See hg help templates.operators for the list expansion syntax.
Returns 0 if a match is found, 1 otherwise.
| -0, --print0 | end fields with NUL |
| --all | an alias to --diff (DEPRECATED) |
| --diff | search revision differences for when the pattern was added or removed |
| -a, --text | treat all files as text |
| -f, --follow | follow changeset history, or file history across copies and renames |
| -i, --ignore-case | |
| ignore case when matching | |
| -l, --files-with-matches | |
| print only filenames and revisions that match | |
| -n, --line-number | |
| print matching line numbers | |
| -r, --rev <REV[+]> | |
| search files changed within revision range | |
| --all-files | include all files in the changeset while grepping (DEPRECATED) |
| -u, --user | list the author (long with -v) |
| -d, --date | list the date (short with -q) |
| -T, --template <TEMPLATE> | |
| display with template | |
| -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