我想更改默认的 Gerrit commit-msg 钩子(Hook)以自动添加 Signed-off-by。但是,我在 Gerrit 服务器中找不到文件 commit-msg,似乎 commit-msg 被包装在 gerrit.war 文件中。
有什么办法可以更改默认的 Gerrit commit-msg 钩子(Hook)吗?
最佳答案
还有另一种方法可以帮助您获得自己的 commit-msg Hook ,而不是 Gerrit 的默认 Hook 。
这个想法是提供另一个版本的钩子(Hook),然后让 Gerrit 提示 Shel 命令为你获取那个版本。
这是你可以做到的方法。
commit-msg
Hook 放入该服务器。执行此操作后,您将获得该 commit-msg
Hook gerrit.installCommitMsgHookCommand
中配置一个名为 gerrit.config
的项目,使用 shell 命令可以下载你的 commit-msg
钩子(Hook) 例如,我的 Gerrit 服务器中
gerrit.installCommitMsgHookCommand
的值为:gitdir=$(git rev-parse --git-dir);wget -qO ${gitdir}/hooks/commit-msg http://myservername/hooks/commit-msg;chmod a+x ${gitdir}/hooks/commit-msg
当我在提交消息中没有 Change-Id 行的情况下将提交推送到我的 Gerrit 服务器时,我将收到以下提示:
远程:处理更改:引用:1,完成
远程:错误:提交消息页脚中缺少更改 ID
偏僻的:
远程:提示:要自动插入 Change-Id,请安装钩子(Hook):
远程:gitdir=$(git rev-parse --git-dir); wget -qO ${gitdir}/hooks/commit-msg http://myservername/hooks/commit-msg ; chmod a+x ${gitdir}/hooks/commit-msg
远程:然后修改提交:
远程:git commit --amend
通过阅读 Gerrit 文档中 gerrit.installCommitMsgHookCommand 项的描述,您可以清楚地看到它是如何工作的。
关于gerrit - 更改默认 gerrit commit-msg,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38089924/