From: Nguyen Thai Ngoc Duy Date: Fri, 12 Dec 2008 16:54:43 GMT Subject: Re: What's cooking in git.git (Nov 2008, #06; Wed, 26) Message-ID: In-Reply-To: <4942952E.1060706@viscovery.net> On 12/12/08, Johannes Sixt wrote: > Nguyen Thai Ngoc Duy schrieb: > > > On 12/12/08, Junio C Hamano 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