2017-09-07 84 views
0

我们使用Phabricator来执行预先提交的审查&对mercurial repo的审计。 Phabricator 不会主机回购,它只会观察它。 该项目配置为自动关闭,因此直到最近,推送存储库上经过验证的审查的所有提交都会自动关闭相关修订。 目前为止这么好。Phabricator通过考虑第一次承诺是最后一次承诺我弄了个评论

今天,我们的管理员发现一个php lib丢失并安装它。看来deamon从来没有'正确地'工作到现在。然而,从这一刻起,所有现有的评论都被更新了,使得第一次评审是唯一可以看到的。任何新的评论是罚款,直到它被关闭,其中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在第一次提交的修订&时间戳后添加了一个额外的“差异”,在我们推送的所有diff之后。这似乎是问题所在。如果我们修改历史记录以显示所有提交,但是这一次,我们找回所有我们的评论内容。

目前,我唯一的解决方法是取消“自动关闭”功能,并使用arc close-revision DXX手动关闭评论。 Phabricator没有更多的自动步骤来解决问题,并且额外的差异不是由Phabricator生成的。

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

回答

0

Phabricator推荐的工作流程是使用arc land来推送和关闭修订版本。直接推送使用mercurial可能没有预期的结果,因为mercurial没有差异修订的知识,并且Phabricator守护进程在事实之后尝试重新构建修订和提交之间的联系。

+0

是的,我希望在下一个项目中使用的工作流程。不幸的是,我们必须将Phabricator设置为传统项目的“仅限观察者”。感谢您的意见! – Vinz