我使用的是Gerrit Code review。
我对此有意见。Gerrit有一些钩子,其中之一是:
patchset-created --change <change id> --change-url <change url>
--project <project name> --branch <branch> --uploader <uploader>
--commit <sha1> --patchset <patchset id> 如果您将某些更改推送到Gerrit,则Gerrit将调用它。
传入的提交参数是sha1提交号,但我想要的是提交日志。例如,如果我使用git commit -m "id:110",我想要获取id:110。
我怎么才能得到它呢?有没有我可以使用的API?
发布于 2011-03-21 11:47:36
我已经解决了这个问题,myself.it似乎没有这样的apis。但是,如果调用了patchset创建的钩子,那么它传递的change参数就是有用的,如果引用gerrit数据库表的一个私钥,名为Change,每次git推送到gerrit它都会将这样的更改记录到change表中,包括提交消息,所以,您可以使用Change参数来查询表,因此从钩子中获得了提交消息!
发布于 2011-12-17 06:28:06
您可以使用git log或git show,从正确的存储库中运行。您的钩子将通过--repository传递repo。钩子将从一个有用的工作目录中调用(我上周才检查到这个目录,我想它在运行钩子之前已经放入了repo?)
git log $SHA1或git show $SHA1,具体取决于您想要的信息。
也就是说,我更喜欢一个更好的解决方案。我希望将diff / patchset添加到信息中,但它不能通过任何gerrit钩子获得。
https://stackoverflow.com/questions/5347892
复制相似问题