On Wed, 2017-07-26 at 13:09 -0700, Junio C Hamano wrote: > Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > > > For an initial guess: in the example > > > > git grep test -n > > > > ... > > 2. Focus on "argument" instead of "filename" so that the message > > could still apply: something like > > > > fatal: option '-n' must come before non-option arguments > > I think this one is the most sensible. There may or may not be a > file called "test" in the working tree, and the user may or may not > meant to look for a pattern "test". What is wrong in the sample > command line is that "test" is not a dashed option and yet it has a > dashed option "-n" after it, and your version clearly explains it. Though the message seems to be most fitting one, I'm a little reluctant to use it as it "might" create a wrong picture on the minds of the user making them think this would be the case in other cases too, which we know is not true. For example, git log -p --full-diff master --stat git commit -v Makefile --amend The above are valid commands and produce expected result even though the 'option argument' comes after the 'non-option' argument. Thus, I thought a "general statement" like the one above might create a wrong picture on the minds of user. Any thoughts about how to overcome this? -- Kaartic