如何在脚本中运行arc diff,而不提示输入消息

时间:2015-06-16 21:13:53

标签: phabricator arcanist

Phabricator的arcanist命令行工具允许您添加“diff”进行修订。这很有用,因为您可以快速生成同事可以查看的差异。

通常情况下,运行arc diff master会提示您输入差异信息,测试计划和其他一些信息,然后在Phabricator上创建差异。

但是,我想从持续集成服务器运行arc diff,因此对所有问题假设为yes并将消息和测试计划作为参数传递给命令。我现在拥有的是:

arc diff master --allow-untracked

但是,它假设它是从一个人类用户调用,并要求一条消息,当从持续集成服务器调用时,该消息会失败。怎么可以跳过提示?

2 个答案:

答案 0 :(得分:3)

我认为你要找的是let newsListItem = NewsListItem(json: responseObject) 选项。 考虑到提交的更改以便它具有提交消息,您可以运行如下命令:

--verbatim

这意味着您将arc diff --verbatim --reviewers xxxx --uncommitted --allow-untracked设置为可选,否则您也必须指定它。

最后,您还可以使用Test plan从文件中读取修订信息。

另一种方法是:

  1. 使用--message-file
  2. 创建差异(但不是转速)
  3. 阅读结果以获取差异识别
  4. 使用此处所述的arc diff --raw-command "git diff origin/master"管道调用来创建修订:
  5. https://secure.phabricator.com/conduit/method/differential.createrevision/

答案 1 :(得分:1)

最佳做法是: 您可以准备一个这样的模板文件。该文件可以命名为msg.conf

${title}
Summary:
${summary_content}

修订人:
${reviewers}

订阅者:
RBA-DEV


Test Plan: 
${test_plan}

,然后您可以生成一些需要填充此模板的内容。 您可以朗读此命令:

arc diff --create --allow-untracked --skip-binaries --message-file msg.conf origin/master