Subject: bug#42966: 28.0.50; vc-dir: wrong backend

From: Glenn Morris <[email-masked]>
Date: Mon, 26 Oct 2020 17:54:19 -0400

Dmitry Gutov wrote:

>> That makes sense, but it's just a performance hack, isn't it?  The
>> result should be the same as the less invasive "loop over all the
>> backends and collect the most specific one".
>
> Pretty much. Except it should naturally limit the traversal up the
> directory tree, so it feels like a good architecture, not just a
> "hack".

Indeed, it just seems like the Right Thing to Do, not a hack.
Not having been paying attention, I was surprised to see the adopted solution
goes for "loop over every VC backend, and every directory up the tree,
then filter the results", rather than "walk up the directory tree,
stopping when a backend claims responsibility".

I would think efficiency matters in such a frequent operation.
As a (completely unscientific) data point, my first single core
bootstrap build after this change took about 5% longer than before
(22m5s v 21m4s). But of course a single measurement means nothing.