For example, android and chrome are git based.
Note also that when codesearch used to crawl and index the world's code, it was not actually that large. It used to download and index tarballs, svn and cvs repositories, etc.
All told, the amount of code in the world that it could find on the internet a few years ago was < 10b lines, after deduplication/etc.
So while you may be right or wrong, i don't think it's as obvious you are right as you do.
Assume the code is sorted well (it is). Why does breaking them into "proper" repositories help anything?
What does "proper" even mean when tons of stuff is shared?
You act as if there is some obvious split that if they had "done it the right way" they would have done. That is 100% not obvious to me.
How do you demarcate these lines, maintain things across these boundaries, etc.
If I wanted to change something fundamental, like I found a 10% speedup in Protobuf wire decode by changing the message slightly, there are likely very many services that all need it.
Everyone at Google operates on HEAD. You're not allowed to break HEAD, and pre-submit/post-submit bots ensure you don't and will block your submit.
I admit that I'm not an expert at large software development, but this seems to nearly fully explain Google's declining code quality.