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

标签 phabricator arcanist

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

通常,运行 arc diff master例如,会提示您输入 diff 消息、测试计划和其他一些信息,然后在 Phabricator 上创建一个 diff。

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

arc diff master --allow-untracked

尽管如此,它还是假设它是从人类用户那里调用的,并请求一条消息,但在从持续集成服务器调用时却失败了。如何跳过提示?

最佳答案

我想你要找的是--verbatim选项。
考虑到更改已提交,因此它具有提交消息,您可以运行如下命令:
arc diff --verbatim --reviewers xxxx --uncommitted --allow-untracked
这意味着您设置了 Test plan为可选,否则您也必须指定它。

最后,您还可以使用 --message-file 从文件中读取修订信息。 .

另一种方法是:

  • 使用 arc diff --raw-command "git diff origin/master" 创建 Diff(但不是 rev)
  • 读取结果以获取差异 ID
  • 使用 createrevision此处所述的管道调用以创建修订版:

  • https://secure.phabricator.com/conduit/method/differential.createrevision/

    关于phabricator - 如何在脚本中运行 arc diff,而不提示输入消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30878323/

    相关文章:

    phabricator - 更改Phabri中用户的密码

    php - arc diff(Arcanist)因 env : php: No such file or directory 而失败

    phabricator - 是否可以修改奥术师/差异模板?

    git - 为每个功能分支创建修订

    phabricator - 您可以与作为审阅者的小组进行比较吗?

    Phabricator - 即使在 .arconfig 文件中包含 Linter 引擎后,arc lint 也无法正常工作

    git - Phabricator 第一次 'arc land' 失败

    phabricator - 如何在 Phabricator 中更新审核请求?

    version-control - 如何拒绝推送到尚未批准的主分支?

    svn - 如何强制用户通过 arcanist 执行 SVN 提交?