
Hi, On 2017-12-19 at 08:31:06 +0100, Sven Panne wrote:
This is a tradeoff: Doing it that way, you catch incorrect commits a little bit later, but it makes the overall arcane repository magic quite a bit simpler, probably removing the need for mirroring.
We'd need mirroring anyway, as we want to keep control over our infrastructure and not have to trust a 3rd party infrastructure to safely handle our family jewels: GHC's source tree. Also, catching bad commits "a bit later" is just asking for trouble -- by the time they're caught the git repos have already lost their invariant and its a big mess to recover; the invariant I devised and whose validation I implemented 4 years ago has served us pretty well, and has ensured that we never glitched into incorrectness; I'm also not sure why it's being suggested to switch to a less principled and more fragile scheme now. As a Haskell programmer, I rather err on the side of correctness for mission critical things, and shifting checks we can (and already) do statically to CI feels to me like embracing `-fdefer-type-errors`... :-) Cheers, HVR