Matheus Tavares Bernardino <matheus.bernard...@usp.br> 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?

Reply via email to