Re: [PATCH] grep: do not do external grep on skip-worktree entries
From: Jeff King <hidden>
Date: 2016-06-15 22:47:58
On Sun, Jan 03, 2010 at 09:52:10PM -0800, Junio C Hamano wrote:
quoted
I agree that Solaris default tools are insane, but is there any reason to munge the PATH for a single feature like external grep? Why not EXTERNAL_GREP=/usr/xpg4/bin/grep (or /usr/local/bin/grep) in the Makefile? Why not GIT_EXTERNAL_GREP=$HOME/bin/grep in the environment?That git-sh-setup "fix" is not for running external grep. It is for our scripted Porcelains that rely on working basic tools (sed, tr, who knows what else is broken).
Right, but I thought this thread was about external grep, and I thought you were saying "if you want decent tools, you can use SANE_TOOL_PATH". And I think we can do much better for that particular case than recommending SANE_TOOL_PATH (but it seems that is not what you were actually recommending). But I admit, I have never really wanted to specify my own external grep. Wanting your own grep for _features_ is probably insane, as some of your greps (on worktree files) will use the external grep, and some (on cached files) will not. So it is really just an optimization, and I have never felt it so slow that I cared about messing with an alternative grep on Solaris. I have to wonder, though...did anybody ever actually profile our internal grep to find out _why_ it was so much slower than GNU grep? Could we simply ship a better grep engine and obsolete external grep?
In fact, our Makefile by default punts on external grep on Sun's. Run "git grep NO_EXTERNAL_GREP -- Makefile" to see for yourself --- it would work even on Solaris ;-)
Yes, I am even mentioned in the commit log of 01ae841c. :) -Peff