4

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

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

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

arc diff master --allow-untracked

尽管如此,它还是假设它是从人类用户那里调用的,并要求一条消息,当从持续集成服务器调用时它会失败。怎么能跳过提示?

4

2 回答 2

6

我认为您正在寻找的是--verbatim选项。考虑到更改已提交,因此它具有提交消息,您可以运行如下命令:

arc diff --verbatim --reviewers xxxx --uncommitted --allow-untracked

这意味着您将其设置Test plan为可选,否则您还必须指定它。

最后,您还可以使用--message-file.

另一种方法是:

  1. 创建一个 Diff(但不是 rev)arc diff --raw-command "git diff origin/master"
  2. 读取结果以获取差异 ID
  3. 使用createrevision此处描述的管道调用来创建修订:

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

于 2015-09-16T14:04:04.980 回答
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
于 2020-03-02T11:11:10.703 回答