Re: What's cooking in git.git (Nov 2008, #06; Wed, 26)
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Dec 12, 2008, 16:45 UTC
- Message-ID
- <4942952E.1060706@viscovery.net>
- In-Reply-To
- <fcaeb9bf0812120813m2949e36ar7905d5688b8f6ecb@mail.gmail.com>
Nguyen Thai Ngoc Duy schrieb:
Show 15 quoted lines
> On 12/12/08, Junio C Hamano <gitster@pobox.com> 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 barConclusion 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