Gerrit change-id为git commit-id

时间:2014-10-22 19:00:01

标签: gerrit

是否可以从gerrit更改ID获取g​​it commit-id? 我正在写一个jenkins工作,其中GERRIT_CHANGE_ID正在传递,但我也需要COMMIT_ID,以便樱桃自动在另一个分支上挑选合并的gerrit。

2 个答案:

答案 0 :(得分:4)

有SSH和REST API可用于获取有关更改的信息,包括补丁集'提交SHA-1。

使用Gerrit's query SSH command的示例:

$ ssh <hostname etc> gerrit query --current-patch-set $GERRIT_CHANGE_ID

请记住,更改ID并不一定只标识一个提交。如果您有关于更改的更多信息,可以避免出现问题。您可能希望传递--format JSON以获得更好的机器解析输出。

使用Get Change REST endpoint的示例:

$ curl http://<hostname etc>/changes/$GERRIT_CHANGE_ID?o=CURRENT_REVISION

答案 1 :(得分:2)

我认为你的工作是由Gerrit Trigger Plugin触发的。因此,在这种情况下,您将可以访问本地的git存储库,其中HEAD将指向所需的提交。 git repo的本地子目录是在Git插件下定义的。然后,您可以使用git rev-parse --verify HEAD - as jakub-narębski suggests

获取提交