Mercurial > hg > bitsyblog
Help: grep
hg grep [--diff] [OPTION]... PATTERN [FILE]...
search for a pattern in specified files
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 ([+] can be repeated):
-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 |
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 |
-q | --quiet | suppress output |
-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 | |
--debugger | start debugger | |
--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) |