Re: What's cooking in git.git (Nov 2008, #06; Wed, 26)
From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:45:46
On 12/12/08, Johannes Sixt [off-list ref] wrote:
Nguyen Thai Ngoc Duy schrieb:quoted
On 12/12/08, Junio C Hamano [off-list ref] wrote:>> So "git grep -e frotz Documentation/", whether you only check out >> Documentation or the whole tree, should grep only in Documentation area, >> and "git grep -e frotz" should grep in the whole tree, even if you happen >> to have a sparse checkout. By definition, a sparse checkout has no >> modifications outside the checkout area, so whenever grep wants to look >> for strings outside the checkout area it should pretend as if the same >> content as what the index records is in the work tree. This is consistent >> with the way how "git diff" in a sparsely checked out work tree should >> behave. > > Assume someone is using sparse checkout with KDE git repository. They > sparse-checkout kdeutils module and do "git grep -e foo". I would > expect that the command only searches in kdeutils only (and is the > current behavior). But what if the same persion notices a #define in a kdeutils header file and want's to know whether it is unused in order to remove it: $ git grep FOO kdeutils/foo.h:#define FOO bar
"git grep --cached FOO" ?
Conclusion from this output: "It's only defined, but not used anywhere." But this conclusion is not necessarily correct because FOO could be used outside kdeutils. So, no, "git grep" should disregard the checkout area. -- Hannes
-- Duy