mercurial/commands.py
branchstable
changeset 29669 7fa011555046
parent 29648 94c5273c7d5d
child 30037 cd7276f7ea83
--- a/mercurial/commands.py	Fri Sep 02 20:15:37 2016 +0000
+++ b/mercurial/commands.py	Fri Sep 23 12:45:10 2016 -0500
@@ -4288,20 +4288,23 @@
     _('[OPTION]... PATTERN [FILE]...'),
     inferrepo=True)
 def grep(ui, repo, pattern, *pats, **opts):
-    """search for a pattern in specified files and revisions
-
-    Search revisions of files for a regular expression.
-
-    This command behaves differently than Unix grep. It only accepts
-    Python/Perl regexps. It searches repository history, not the
-    working directory. It always prints the revision number in which a
-    match appears.
-
-    By default, grep only prints output for the first revision of a
+    """search revision history for a pattern in specified files
+
+    Search revision history for a regular expression in the specified
+    files or the entire project.
+
+    By default, grep prints the most recent revision number for each
     file in which it finds a match. To get it to print every revision
-    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 --all flag.
+    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
+    --all flag.
+
+    PATTERN can be any Python (roughly Perl-compatible) regular
+    expression.
+
+    If no FILEs are specified (and -f/--follow isn't set), all files in
+    the repository are searched, including those that don't exist in the
+    current branch or have been deleted in a prior changeset.
 
     Returns 0 if a match is found, 1 otherwise.
     """