From: Junio C Hamano Date: Sat, 28 Sep 2019 03:24:07 GMT Subject: Re: [RFC PATCH 0/3] grep: don't add subrepos to in-memory alternates Message-ID: In-Reply-To: Matheus Tavares Bernardino writes: > Right, this would be the best way of doing it. However, I think this > is not how it's currently implemented. I if correctly understood the > code in this call chain: > > grep_source_load_driver() > userdiff_find_by_path() > > git_check_attr() > collect_some_attrs() > prepare_attr_stack() > > bootstrap_attr_stack() > > it seems that the whole stack is being rebuild for every path (even > for paths descending in the same superproject or submodule). bootstrap is guarded with "if (*stack) return;" and prepare knows to rewind to the common level and push down the new ones, no? At least that is how I remember writing the first version of it. Have we broken the design over time, I wonder?