可以修改对给定存储库的某些分支的访问规则(包括通过UI和通过Gerrit )来阻止提交(例如,在紧急维护的情况下)。
但是,我知道的唯一方法是,每次必须立即阻止对分支的修改时,都需要手动重新配置规则。因为这很麻烦,容易出错,而且很难文档化,所以我想要一个“红色按钮”的解决方案。
为了避免使用手工书写规则或脚本编写重新发明轮子,在我问自己(或者更确切地说是你)之前,对于其他人提出的问题,是否已经有了停止提交错误分支的方法,并同样很容易地允许它们再次出现。
一个我想要的解决方案可以让我轻松地运行
gerrit-set-submit-traffic-light block master在master分支和运行中发生紧急情况
gerrit-set-submit-traffic-light allow master允许再次提交。
有这样的事吗?这样做的直接方式是什么?
发布于 2022-02-24 08:28:31
选项1
存储库的所有权限都在存储库本身的project.config文件中的project.config ref下维护。
如果要禁用给定分支的“提交”权限,则需要修改该文件。例如,为了暂时限制组Master-Emergency-Submitters成员的提交权限,您可以添加
[access "refs/heads/master"]
submit = group Master-Emergency-Submitters一旦紧急情况结束,你会再次移除那个入口。
要执行这些更改,您所需要做的就是推送更新的project.config文件,该文件很容易编写脚本。
选项2
Gerrit 钩子插件支持一个可以阻止提交步骤的submit钩子。钩子是一个简单的shell脚本,您可以使用它根据某些条件禁用对分支的提交。
虽然第二个选项的侵扰性较低,但它仍然会在GUI中保留启用的"Submit“按钮(在用户选择执行它们之后阻止提交),从UX的角度来看,这并不太好。
https://stackoverflow.com/questions/71237845
复制相似问题