• J
    built-in "git grep" · 5010cb5f
    Junio C Hamano 提交于
    This attempts to set up built-in "git grep" to further reduce
    our dependence on the shell, while at the same time optionally
    allowing to run grep against object database.  You could do
    funky things like these:
    
    	git grep --cached -e pattern	;# grep from index
    	git grep -e pattern master	;# or in a rev
    	git grep -e pattern master next ;# or in multiple revs
    	git grep -e pattern pu^@	;# even like this with an
    					;# extension from another topic ;-)
    	git grep -e pattern master..next ;# or even from rev ranges
    	git grep -e pattern master~20:Documentation
    					;# or an arbitrary tree
    	git grep -e pattern next:git-commit.sh
            				;# or an arbitrary blob
    
    Right now, it does not understand and/or obey many options grep
    should accept, and the pattern must be given with -e option due
    to the way the parameter parser is structured, both of which
    obviously need to be fixed for usability.
    
    But this is going in the right direction.  The shell script
    version is one of the worst Portability offender in the git
    barebone Porcelainish; it uses xargs -0 to pass paths around and
    shell arrays to sift flags and parameters.
    Signed-off-by: NJunio C Hamano <junkio@cox.net>
    5010cb5f
Makefile 19.0 KB