comparison mercurial/commands.py @ 43304:8cb5f96db235

grep: enable all-files by default (BC) This patch deprecates the `--all-files` flag and make the all-files behaviour as default. In test-grep.t, I removed '--all-files' from every command where it was used, to reflect that all-files behaviour is default and there is no change even after the removal. And other changes in test files are because of changed behaviour. Differential Revision: https://phab.mercurial-scm.org/D7000 .. bc:: `hg grep` now searches working copy file contents by default. We recognize this is a significant change from past behavior, but surveys of large bodies of users indicated nobody used (and almost nobody understood) the previous no-flags behavior of `hg grep`. The new behavior aligns with the behavior most users expected (including hg's maintainers), which also happens to be the behavior of `git grep`. Given that the old behavior was confusing to the point of being unusable, we were comfortable changing this behavior.
author Sushil khanchi <sushilkhanchi97@gmail.com>
date Sun, 06 Oct 2019 11:06:10 -0400
parents 8d02e3c86815
children d782cce137fd
comparison
equal deleted inserted replaced
43303:26caf96a5fa9 43304:8cb5f96db235
3308 ( 3308 (
3309 b'', 3309 b'',
3310 b'all-files', 3310 b'all-files',
3311 None, 3311 None,
3312 _( 3312 _(
3313 b'include all files in the changeset while grepping (EXPERIMENTAL)' 3313 b'include all files in the changeset while grepping (DEPRECATED)'
3314 ), 3314 ),
3315 ), 3315 ),
3316 (b'u', b'user', None, _(b'list the author (long with -v)')), 3316 (b'u', b'user', None, _(b'list the author (long with -v)')),
3317 (b'd', b'date', None, _(b'list the date (short with -q)')), 3317 (b'd', b'date', None, _(b'list the date (short with -q)')),
3318 ] 3318 ]
3364 3364
3365 Returns 0 if a match is found, 1 otherwise. 3365 Returns 0 if a match is found, 1 otherwise.
3366 """ 3366 """
3367 opts = pycompat.byteskwargs(opts) 3367 opts = pycompat.byteskwargs(opts)
3368 diff = opts.get(b'all') or opts.get(b'diff') 3368 diff = opts.get(b'all') or opts.get(b'diff')
3369 all_files = opts.get(b'all_files')
3370 if diff and opts.get(b'all_files'): 3369 if diff and opts.get(b'all_files'):
3371 raise error.Abort(_(b'--diff and --all-files are mutually exclusive')) 3370 raise error.Abort(_(b'--diff and --all-files are mutually exclusive'))
3372 # TODO: remove "not opts.get('rev')" if --all-files -rMULTIREV gets working 3371 if opts.get(b'all_files') is None and not diff:
3373 if opts.get(b'all_files') is None and not opts.get(b'rev') and not diff: 3372 opts[b'all_files'] = True
3374 # experimental config: commands.grep.all-files
3375 opts[b'all_files'] = ui.configbool(b'commands', b'grep.all-files')
3376 plaingrep = opts.get(b'all_files') and not opts.get(b'rev') 3373 plaingrep = opts.get(b'all_files') and not opts.get(b'rev')
3374 all_files = opts.get(b'all_files')
3377 if plaingrep: 3375 if plaingrep:
3378 opts[b'rev'] = [b'wdir()'] 3376 opts[b'rev'] = [b'wdir()']
3379 3377
3380 reflags = re.M 3378 reflags = re.M
3381 if opts.get(b'ignore_case'): 3379 if opts.get(b'ignore_case'):