Zygo Blaxell [off-list ref] writes:
If git commit runs out of disk space, for example, the commit should
fail, but the repository should still not be corrupt. Future commits
(for example after freeing some disk space) should eventually succeed.
That is true. It is Ok to create a corrupt object as long as running an
equivalent of fsck immediately after an object creation to catch the
breakage to prevent it from propagating further.
That is essentially what "paranoid" switch does, but it adds overhead that
is unnecessary for the use case we primarily target in git.