【发布时间】:2016-03-16 05:23:21
【问题描述】:
有没有办法列出 Phabricator 中的所有预览差异?
也就是说,我使用 arc diff --preview 创建了一个 diff,但是丢失了 diff URL 并且丢失了原始的本地 git 提交。我想使用arc patch --diff 重新生成它们,但我不知道差异编号
【问题讨论】:
标签: phabricator arcanist
有没有办法列出 Phabricator 中的所有预览差异?
也就是说,我使用 arc diff --preview 创建了一个 diff,但是丢失了 diff URL 并且丢失了原始的本地 git 提交。我想使用arc patch --diff 重新生成它们,但我不知道差异编号
【问题讨论】:
标签: phabricator arcanist
arc diff 预览不适用于存储提交以供以后使用。只需创建一个修订版,不要分配给任何人,它是完全相同的。
您无法通过 UI 执行任何操作来恢复这些,因为这绝不是 --preview 的意图。如果您有权访问该数据库,您可以进入 *_user.user 找到您的用户 phid,然后进入 *_differential.differential_diff 表并选择具有此 PHID 的所有用户。或者让您的 DBA 为您运行。
SELECT *
FROM phabricator_differential.differential_diff
WHERE authorPhid
IN (
SELECT phid
FROM phabricator_user.user
WHERE username = 'Kirby'
)
AND revisionID IS NULL;
从此列表中的 id 列中,您可以通过以下 url 访问您的差异。 https://phabricator.com/differential/diff/{id}/.
这是一个非常古老的上游票证,可能是为 UI https://secure.phabricator.com/T1084 添加更好的差异支持的一部分。不过我一直没有看到对此有太大兴趣,所以我不认为它会在明年得到支持,除非你的公司或你自己愿意付钱给他们。
【讨论】:
--plan-changes 标志。我目前不知道如何强制某人不添加审阅者,除非他们有自定义先驱规则设置,将它们添加到每个差异中。但是,使用 --plan-changes 将确保审核中列出的人不会被它窃听。