changeset 38652:bfcd5c7cbf9a

grep: restore pre-9ef10437bb88 behavior, enable wdir search by tweakdefaults Unfortunately, python-hglib relies on the original grep behavior and is documented as such. Even though we agreed to introduce the BC, we shouldn't break existing libraries. So this patch flips the default again and move the new default to ui.tweakdefaults. We could instead use HGPLAIN to turn this flag off, but that would be rather confusing as the old/new behaviors are quite different. Differential Revision: https://phab.mercurial-scm.org/D3919
author Yuya Nishihara <yuya@tcha.org>
date Wed, 11 Jul 2018 22:06:04 +0900
parents 5e4027db52f4
children aabc01da9834
files mercurial/commands.py mercurial/configitems.py mercurial/ui.py tests/test-grep.t
diffstat 4 files changed, 15 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Wed Jul 11 21:51:47 2018 +0900
+++ b/mercurial/commands.py	Wed Jul 11 22:06:04 2018 +0900
@@ -2515,12 +2515,11 @@
     Search revision history for a regular expression in the specified
     files or the entire project.
 
-    By default, grep searches the expression on the working directory.
-    To search history and show the most recent revision number for each
-    file in which it finds a match, use :hg:`grep -r tip:0`.
-    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 --diff flag.
+    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
+    --diff flag.
 
     PATTERN can be any Python (roughly Perl-compatible) regular
     expression.
--- a/mercurial/configitems.py	Wed Jul 11 21:51:47 2018 +0900
+++ b/mercurial/configitems.py	Wed Jul 11 22:06:04 2018 +0900
@@ -188,7 +188,7 @@
     default=dynamicdefault,
 )
 coreconfigitem('commands', 'grep.all-files',
-    default=True,
+    default=False,
 )
 coreconfigitem('commands', 'show.aliasprefix',
     default=list,
--- a/mercurial/ui.py	Wed Jul 11 21:51:47 2018 +0900
+++ b/mercurial/ui.py	Wed Jul 11 22:06:04 2018 +0900
@@ -59,6 +59,8 @@
 interface = curses
 
 [commands]
+# Grep working directory by default.
+grep.all-files = True
 # Make `hg status` emit cwd-relative paths by default.
 status.relative = yes
 # Refuse to perform an `hg update` that would cause a file content merge
--- a/tests/test-grep.t	Wed Jul 11 21:51:47 2018 +0900
+++ b/tests/test-grep.t	Wed Jul 11 22:06:04 2018 +0900
@@ -456,10 +456,15 @@
 
   $ cd ..
 
-Change Default of grep, that is, the files not in current working directory
-should not be grepp-ed on
+Change Default of grep by ui.tweakdefaults, that is, the files not in current
+working directory should not be grepp-ed on
+
   $ hg init ab
   $ cd ab
+  $ cat <<'EOF' >> .hg/hgrc
+  > [ui]
+  > tweakdefaults = True
+  > EOF
   $ echo "some text">>file1
   $ hg add file1
   $ hg commit -m "adds file1"