On Thu, Apr 04, 2013 at 01:48:52PM -0700, Junio C Hamano wrote:
> If I am reading the code correctly, it is has_changes(), which is
> used for "log -S" (not "log -G" that uses diff_grep()), that does
> the unnecessary get_textconv() unconditionally.  The way diff_grep()
> divides the work to make fill_one() responsible for filling the
> textconv as necessary is internally consistent, and there is no
> unnecessary call.

Yes, of course. I meant has_changes() which has the unnecessary
call.

> Perhaps...
>
>       The fill_one() function is responsible for finding and
>       filling the textconv filter as necessary, and is called by
>       diff_grep() function that implements "git log -G<pattern>".
>
>       The has_changes() function calls get_textconv() for two
>       sides being compared, before it checks to see if it was
>       asked to perform the pickaxe limiting with the -S option.
>       Move the code around to avoid this wastage.  After that,
>       fill_one() is called to use the textconv.
>
>       By adding get_textconv() to diff_grep() and relieving
>       fill_one() of responsibility to find the textconv filter, we
>       can avoid calling get_textconv() twice.

Sounds good to me.

Regards
Simon
-- 
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to