Document Gitaly fsck error exceptions
Git's fsck command checks repository consistency. This is run during Gitaly's housekeeping, but also on pushes to ensure that repositories have not become corrupted. As part of this check, there are a number of errors that can be thrown. If a push contains an offending commit, the push will be rejected.
This has caused customer issues like #246750 on SaaS.
On self-managed, these error conditions can be tweaked. Errors not marked as FATAL
in the git docs can be configured to not throw an error and thus allow the pushes to succeed.
On SaaS however, customers cannot tweak these exceptions. What we allow and don't allow is not documented however, which can be confusing. Let's document these, along with instructions on how to turn off certain error conditions on self-managed instances.