I just helped Fritz through fixing some clang-formatting linting, and it is a really heavy process.
As I understand it, we only lint the changed file chunks. And, by extension, the tools provided to end users require people have files in their staging directory.
But, this means that if you have PR with some commits, you get a process looks something like:
1. squash commits into a single commit
2. unstage it
3. run the format tool
4. Make new commit
I generally think of myself as pretty git savvy, and I had to look up step 2. And write some gnarly command lines to make it all smoother.