diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2533,6 +2533,9 @@ """ opts = pycompat.byteskwargs(opts) diff = opts.get('all') or opts.get('diff') + if diff and opts.get('all_files'): + raise error.Abort(_('--diff and --all-files are mutually exclusive')) + reflags = re.M if opts.get('ignore_case'): reflags |= re.I diff --git a/tests/test-grep.t b/tests/test-grep.t --- a/tests/test-grep.t +++ b/tests/test-grep.t @@ -412,6 +412,12 @@ $ hg grep -r "." "unmod" --all-files um:1:unmod +--diff --all-files makes no sense since --diff is the option to grep history + + $ hg grep --diff --all-files um + abort: --diff and --all-files are mutually exclusive + [255] + $ cd .. Fix_Wdir(): test that passing wdir() t -r flag does greps on the