table of contents
HG(GREP) | HG(GREP) |
NAME¶
hg grep - search for a pattern in specified files
SYNOPSIS¶
hg grep [--diff] [OPTION]... PATTERN [FILE]...
DESCRIPTION¶
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.
OPTIONS¶
- -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