gerrit中commit-msg挂钩解释
gerrit中commit-msg挂钩解释
change-id在提交消息的页脚中⾃动插⼊全局唯⼀标签。存在时,gerrit使⽤此标记来跟踪基准的提交
在将钩⼦安装到项⽬的⽤户本地Git存储库中之后,该钩⼦所提交的修改信息如下:
原本提交信息为:
Improve foo widget by attaching a bar.
we want a bar ,because it improve the foo by providing more
itwangxiaobai to the project.
Signed-off-by:wangxiaobai <itwangxiaobai@163>
通过在页脚中插⼊新的‘Change-Id’⾏:
提交更改是什么
Improve foo widget by attaching a bar.
we want a bar ,because it improve the foo by providing more
itwangxiaobai to the project.
Change-Id:
Signed-off-by:wangxiaobai <itwangxiaobai@163>
钩⼦实现是在插⼊合理的Change-Id之前的任何Singed-off-by或Acked-by放置在所述端由作者提交消息,但是,如果没有这样的信息⽽只是插⼊⼀个空⾏,并添加Change-Id在的底部信息
如果change-id消息页脚中已经存在⼀⾏,则脚本将不再执⾏任何操作,⽽是使现有脚本保持change-id不变,这允许修改现有提交,或者允许⽤户从web上查看现有更改中复制change-id后⼿动插⼊。
2.如何获取
要获取commit-msg脚本,请使⽤scp,wget或curl从gerrit服务器将其下载到本地系统
您可以使⽤以下任⼀命令:
$ scp -p -P 29418 <;您的⽤户名>@<;您的gerrit审查服务器>:hooks/commit-msg<;您的Git的本地路径>/.git/hooks/
$ curl -Lo <;您的Gitd本地路径>/.git/hooks/commit-msg<;您的Gerrit http URL>/tools/hooks/commit-msg
确保挂钩⽂件是可执⾏⽂件:
$ chmod u+x ~/duhproject/.git/hooks/commit-msg
实施⽅式:
挂钩Change-Id通过在本地Git存储库中创建虚拟提交对象并从中获取SHA-1哈希来⽣成唯⼀⾏。与其他任何Git提交⼀样,以下属性也包含在计算中:
正在提交的树的SHA-1
⽗提交的SHA-1
作者的姓名,电⼦邮件地址,时间戳
提交者的姓名,电⼦邮件地址,时间戳
建议的提交消息(在Change-Id插⼊之前)
因为哈希计算中包括树和⽗提交的名称以及提交者时间戳,所以输出 Change-id⾜够唯⼀。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论