Having local commits intermingled with an upstream code base can make for really hairy upgrades, but I guess every situation is slightly different.
Well we don't put them in git, we put them in perforce because git keels over if you try and stuff 10GB of binaries into it once every few months.
I think the real question is the other way around though, why _not_ use git for versioning when that's what it's supposed to be for? Why do I have to verison some things with git, and others with npm/go build/pip/vcpkg/cargo/whatever?
Yep. Along with paltform SDKs, third party dependencies, precompiled binaries, non-redistributable runtimes, you name it.
Giant PSD or FBX files? 4K Textures? all of it.
Client mappings are the bread and butter of P4 (or Stream views more recently which are not as nice to work with) - you say "I don't want the path containing MacOS" if you don't want it.
> Because the Linux kernel source tree and its history can accurately be described as "a few hundred text files".
I was off by a little bit, it's ~60k. But it's still "only" 60k text files, no matter how important those text files are.
You vendored all your compilers/language runtimes in the source control repo of each project? Including, like, gcc or clang? WTF?
> It's a shame that the mantra of "do one thing well" devolves into "only support a few hundred text files on linux" with git.
Because the Linux kernel source tree and its history can accurately be described as "a few hundred text files".
Yeah, right.