<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>Hi Ben,</div><div><br class=""><blockquote type="cite" class=""><div class="">Am 12.12.2017 um 02:22 schrieb Ben Gamari <<a href="mailto:ben@well-typed.com" class="">ben@well-typed.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><div class="">Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" class="">simonpj@microsoft.com</a>> writes:<br class=""><br class=""><blockquote type="cite" class="">The problem is that many contributors, including Simon PJ, Richard, and<br class="">me, tend to push batches of work<br class=""><br class="">I have not been following this thread (“job accounting” seemed above<br class="">my pay grade) but I saw this mention of my name 😊. Without having<br class="">read myself into the context there seem to be two issues<br class=""><br class=""><br class=""> * Every commit to master should be validate-clean, and this should<br class=""> be tested by the CI framework not by the contributor. This is<br class=""> essential. I would be delighted if every commit I made went through<br class=""> that gate. I’m careful, but occasionally not careful enough.<br class=""><br class=""> * Most – perhaps all – commits should go through a code-review<br class=""> process. Here I freely admit that I tend to use (or abuse?) my<br class=""> status to make most of my commits without review, except perhaps<br class=""> informally with individuals. I’d be absolutely willing to review<br class=""> this if (a) in fact people think that the extra step would really<br class=""> improve quality (perhaps looking at past commits) or (b) the very<br class=""> fact that I do so makes people feel cross.<br class=""><br class=""></blockquote>I personally think that we should strive for your first point (every<br class="">commit should be validate-clean) before attempting to tackle your<br class="">second. I, for one, am rather skeptical that putting all of your patches<br class="">through review would significantly affect quality.<br class=""></div></div></blockquote><div><br class=""></div></div>I completely agree.<div class=""><br class=""></div><div class="">So, what is preventing us from disabling direct pushes to master and requiring all contributions to go through a PR or Differential? </div><div class=""><br class=""></div><div class="">PRs and Differentials are squashed on merging to master and the whole problem (with CircleCI building only heads of commit groups) just disappears. I believe that this is the usual approach.</div><div class=""><br class=""></div><div class="">If the outstanding issue is that you combine multiple contributions from contributors and manually valid them to ensure they are not just individually sound, but also in combination, we might want to consider</div><div class=""><br class=""></div><div class=""> <a href="https://bors.tech" class="">https://bors.tech</a></div><div class=""><br class=""></div><div class="">which is exactly for that kind of thing (and apparently used by Rust).</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Manuel</div><div class=""><br class=""></div></body></html>