From: Alex Riesen Date: Thu, 24 Jul 2008 20:26:34 GMT Subject: Re: [PATCH 02/12] git-grep: support --no-external-grep Message-ID: <20080724202634.GB3760@blimp.local> In-Reply-To: <20080723145549.GA29067@laptop> Nguyễn Thái Ngọc Duy, Wed, Jul 23, 2008 16:55:49 +0200: > > +static int no_external_grep; > + If you have used direct logic instead of negative, your patch would have been simplier and the code would be easier to understand. I.e.: +static int external_grep = 1; > @@ -386,7 +388,7 @@ static int grep_cache(struct grep_opt *opt, const char **paths, int cached) > * we grep through the checked-out files. It tends to > * be a lot more optimized > */ > - if (!cached) { > + if (!cached && !no_external_grep) { + if (!cached && external_grep) { > @@ -544,6 +546,10 @@ int cmd_grep(int argc, const char **argv, const char *prefix) > cached = 1; > continue; > } > + if (!strcmp("--no-external-grep", arg)) { > + no_external_grep = 1; > + continue; > + } + if (!strcmp("--no-external-grep", arg)) { + external_grep = 0; + continue; + } BTW, how about a config option for this? And maybe --external-grep={yes|no}