如何添加多行注释去Gerrit评论?

时间:2019-02-08 05:54:19

标签: python gerrit

我正在尝试使用以下代码添加多行注释,但这会失败,并显示以下错误,以及有关如何解决该错误的任何指导?

message = """PLEASE RESOLVE MERGE CONFLICTS
             WHAT DO I HAVE TO DO IN CASE OF MERGE CONFLICTS:
             htts://confluence.sd.company.com/display/WFI/AUTO+CHERRY-PICK
             """.replace("\n","\n\n")
code_review_minus_two_cmd = "ssh -p 29418 tech-gerrit.sd.company.com gerrit review %s --label Code-Review=-2 --message '%s'"%(propagated_gerrit_commit,message)
code_review_minus_two_cmd_output,code_review_minus_two_cmd_error = runCmd(code_review_minus_two_cmd)

错误:-

fatal: "RESOLVE" is not a valid patch set

4 个答案:

答案 0 :(得分:2)

似乎与此bug相关。

通过查看故障单,我可以看到解决问题的方法:

  1. 使用-m代替--message
  2. 在邮件周围添加双引号

错误链接中的评论示例:

ssh -p 29418 review.example.com gerrit review -m '"Build Successful"'

希望这里有用。我没有Gerrit帐户可以对自己进行测试。

答案 1 :(得分:0)

似乎“消息”定义中的双引号(“”“)不能按预期工作。Gerrit正在接收这样的参数:--message请解决合并...所以假设“请”是消息,“ RESOLVE”是gerrit review page at the Gerrit documentation中定义的下一个参数(补丁集)。

尝试使用反斜杠转义双引号,如下所示:

message =“ \”请解决合并... \“”

答案 2 :(得分:0)

您可以使用json格式的消息。最简单的方法是创建具有以下内容的文件:

{
  "labels": {
    "Code-Review": "-2"
  }, 
  "message": "PLEASE RESOLVE MERGE CONFLICTS\nWHAT DO I HAVE TO DO IN CASE OF MERGE CONFLICTS:\nhttps://confluence.sd.company.com/display/WFI/AUTO+CHERRY-PICK"
}

然后运行以下ssh命令:

cat filename.json | ssh -p 29418 review.example.com gerrit review --json

答案 3 :(得分:0)

以下示例在bash中有效。

ssh -p 29418 review.example.com gerrit review -m $'"First line\nSecond line etc."' CHANGE_ID,PATCHSET_ID/COMMIT_SHA