Re: git grep argument parser bug
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:08:06
Dylan Grafmyre [off-list ref] writes:
In both ubuntu versions of git 1.9.1 and 2.7.0
git grep '-test'
git grep '--help'
Or any other expressions literal leading with a single dash or double
dash get interpreted as argument flags and not as search expressions.
...
What I expect is grep results for the literal strings "-test" and "--help"
I think you'd need to adjust your expectations, then ;-).
This is how "grep" (not "git grep") works, and you use "-e", i.e.
grep -e "-anything that begins with a dash" FILES...
to disambiguate. If you are scripting, if you do not know what you
have in a variable, and if you are looking for the value in that
variable, you would always do
grep -e "$variable" FILES...
not
grep "$variable" FILES...
I think all of the above is pretty much the standard practice and
"git grep" merely follows suit, i.e.
git grep -e "-help"
is designed to work that way to match users' expectations.