hg grep#

search for a pattern in specified files#

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.

Options

Every command accepts the global options.

-0

--print0

end fields with NUL

--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

-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

Options marked [+] can be repeated.