我正在尝试使用以下代码添加多行注释,但这会失败,并显示以下错误,以及有关如何解决该错误的任何指导?
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
答案 0 :(得分:2)
似乎与此bug相关。
通过查看故障单,我可以看到解决问题的方法:
错误链接中的评论示例:
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