【问题标题】:Phabricator messes up my reviews by considering the first commit to be the closing onePhabricator 认为第一个提交是最后一个提交,从而弄乱了我的评论
【发布时间】:2017-09-07 15:34:55
【问题描述】:

我们正在使用 Phabricator 对一个反复无常的回购执行提交前审查和审计。 Phabricator 托管 repo,它只观察它。 该项目配置了自动关闭,因此直到最近,在存储库上推送所有已验证审查的提交都会自动关闭相关修订。 到目前为止一切顺利。

今天,我们的管理员发现缺少一个 php 库并安装了它。直到现在,该守护进程似乎从未“正确”工作过。但是,从这一刻起,所有现有的评论都以一种方式进行了更新,即评论的第一次提交是唯一可以看到的。在关闭之前,任何新的评论都很好,Phabricator 写道:

Closed by commit R1:a9a9e1153022: doc: update changelog (authored by vsiles). · Explain WhyThu, Sep 7, 5:09 PM
This revision was automatically updated to reflect the committed changes.

a9a9e1153022 是第一次提交的修订版,但 iirc 总是如此)。现在整个审查只显示第一次提交,而不是全部。

如果我们转到评论中的“历史”选项卡,我们可以看到 Phabricator 在我们推送的所有差异之后添加了一个额外的“差异”,其中包含第一次提交的修订和时间戳。这似乎是问题所在。如果我们修改历史记录以显示除此之外的所有提交,我们会找回我们所有的评论内容。

目前,我唯一的解决方法是删除“自动关闭”功能,并使用 arc close-revision DXX 手动关闭评论。 Phabricator 没有更多的自动步骤将事情搞砸了,额外的差异不是由 Phabricator 生成的。

有人可以解释为什么 Phabricator 认为审查是由 first 提交关闭的,这似乎是这里的问题吗?

【问题讨论】:

    标签: phabricator


    【解决方案1】:

    Phabricator 的推荐工作流程是使用arc land 推送和关闭修订。直接使用 mercurial 推送可能不会得到预期的结果,因为 mercurial 不知道差异修订,并且 Phabricator 守护进程只能在事后尝试重建修订和提交之间的链接。

    【讨论】:

    • 是的,我想在我们的下一个项目中使用的工作流程。不幸的是,我们不得不将 Phabricator 设置为遗留项目的“仅观察者”。感谢您的输入!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多