Re: The future of commit access policy for core Firefox
Steven MacLeod <[email protected]> Fri, 10 Mar 2017 11:33:54 -0500
| Newsgroups | gmane.comp.mozilla.devel.seamonkey |
|---|---|
| Message-ID | <CAOsM0xNByRMtNGZT9VAaWYYfM=T4LaPUe1up1nveaBfaVcGNDw@mail.gmail.com> |
I think "r+ with nits" would be much less of an issue if the trust/permissions model was less coarse, both in level of permission and breadth of code it encompasses. It seems a little bit insane to me that a developer who primarily works on area X of the codebase and is given scm_level_3 due to trust in that area can then land to any other part of the tree. Attempts to fix this for parts of mozilla-central have been implemented with push hooks[1]. Having a generic way to assign this ownership/trust for all parts of the codebase (and actually making it enforceable, rather than just checking a user providable string in a commit message) would give automation the information it needs to relax certain requirements in explicitly defined cases. For example, it probably makes sense to allow the owner of a particular file to land there when given an r+ on a previous revision of the change, especially if that review came from another owner or peer of that file. If you'd like to keep an audit trail, automation could even send out an interdiff of what was reviewed and what was landed, after the fact. It seems to me like it's time that an actual machine readable code ownership system is implemented (Like most large orgs have). Allowing some level of trust to keep people productive makes sense to me, but I don't think the current scm_level system provides enough control to grant reasonable trust we can enforce with automation. As Gijs mentioned, you could also allow reviewers to just fix the nits themselves. Have tools support the reviewer pushing up an alternative fix (or editing directly in a review interface) and suggesting it as a change which the author could accept and land after viewing the differences. [1] https://hg.mozilla.org/hgcustom/version-control-tools/file/tip/hghooks/mozhghooks/prevent_webidl_changes.py