From: Linus Torvalds Date: Mon, 12 Sep 2005 22:12:32 GMT Subject: Re: Add "git grep" helper Message-ID: In-Reply-To: <7vbr2y7yfd.fsf@assigned-by-dhcp.cox.net> On Mon, 12 Sep 2005, Junio C Hamano wrote: > > I do not much care about other grep flags but I think you forgot > to special case '-e', so what is in the "master" branch has one > extra commit on top of it for that (it does not seem to have > percolated down yet). Actually, the more I think about it, the more I think Morten was right, and the git-grep case statement should just put all flags in "$flags", and any git-ls-files flags can be handled specially before. We also need special casing for grep flags that take an argument. So the end result might be something like the following.. ... case "$pattern" in # git-ls-file specific flags --others|--exclude=*|--exclude-from=*|--exclude-per-directory=*) git_flags="$git_flags $pattern" shift ;; # grep flags with an argument -B|-C|-m) flags="$flags $pattern $2" shift shift ;; # grep 'pattern' argument -e) pattern="$2" shift break ;; # We assume everything else is a regular grep pattern -*) flags="$flags $pattern" shift ;; ... instead. And it's entirely possible that we'd never want to even bother with things like --others and --exclude* at all. Linus