Re: Add "git grep" helper
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Sep 12, 2005, 22:12 UTC
- Message-ID
- <Pine.LNX.4.58.0509121500400.3266@g5.osdl.org>
- In-Reply-To
- <7vbr2y7yfd.fsf@assigned-by-dhcp.cox.net>
On Mon, 12 Sep 2005, Junio C Hamano wrote:
Show 5 quoted lines
> > 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