1

我在 Code Collaborator (CC) 中有一个正在审核的文件,我们将其称为“SomeFile.h”。在第一个版本中,我添加了几行新代码。在第二个修订版中,所有更改都移到了不同​​的文件中,并且 Somefile.h 被还原,因此 SomeFile.h 在最新修订版中应该没有任何更改。

CC 审查摘要页面显示了 SomeFile.h 的内容:

SomeFile.h 状态

我希望从CC 的 Review Summary Screen 手册中的下表中看到“文件已恢复”符号,该符号似乎不包括实际显示的符号:

CC的审查概要画面键

此外,如果我单击文件并查看差异,我的旧更改仍会显示,给人的印象是文件未还原。我已经尝试在包含和不包含未更改的 SomeFile.h 的情况下提交更改列表,但它没有效果。

为什么与当前签入版本相比没有任何更改的文件仍显示第一个修订更改且没有“已恢复”符号?

我的版本控制系统是Perforce,它的服务器版本是P4D/LINUX26X86_64/2016.2/1468155。Code Collaborator 版本是 9.2.9200。

4

2 回答 2

0

我对 Code Collaborator 不是很熟悉,但我猜测当您“还原”Perforce 中的更改时(请注意,Perforce 中的“还原”一词指的是完全不同的操作,因此以这种方式使用该词这有点令人困惑)这在 Perforce 中反映为正常编辑,因此它不会在 CC 中显示为特殊的“还原”操作。我进一步猜测,当您在 diff 中看到旧更改时,它们位于文件的先前版本中,因此实际上您的更改从当前版本开始就被删除了。

Perforce 确实有一个原生的“撤消”操作,它存储在元数据中,与编辑不同——但是,这是一个新功能(在 2016.2 服务器中添加),据我所知,其他任何客户端都不支持比命令行。CC 本身可能不会将本地 Perforce 撤消显示为还原,除非它最近已更新。(如果你是一个命令行用户,这非常漂亮——文件历史记录将准确显示哪些修订被撤消,你可以配置“集成”命令来考虑撤消操作,这样你就可以重新做撤消的集成,而不是将撤消视为添加新更改的简单编辑)。

于 2017-09-29T23:40:55.693 回答
0

CodeCollaborator 的文档(特别是您在屏幕截图中显示的符号)已过时。

您在此处显示的屏幕截图:

还原 CodeCollaborator 文件

一个还原的文件。从左下角向上扫到左上角的蓝色小箭头是 CodeCollaborator 中的“还原”符号。

该文件仍然出现在您的评论中的原因是有人对其发表了评论。具体来说,某人在该文件的整体部分中已“接受”(由带有白色勾号的绿色圆圈表示)。

任何包含评论的文件在审阅中仍然可见,即使在被还原后也是如此。这大概是为了防止部分审查讨论因讨论发生的文件被还原而丢失。(例如,如果审阅者提出建议重命名文件的问题,这将很常见。)

根据您的用户设置,完全没有评论的还原文件可以完全隐藏。所以这可能是你习惯看到的行为。

至于为什么它仍然显示包含您的更改的差异,这似乎是 CodeCollaborator 的设计决定。如主评论页面所示,该文件已被还原,因此其内容在最终更改的上下文中不再具有实际意义。

我同意这可能会造成混淆,因为很容易错过蓝色箭头并认为更改仍然存在。这确实意味着对该文件的任何评论(通常是在它处于“已更改”状态时进行的)将保留在最初存在的更改的上下文中。CodeCollaborator 显示“此文件已恢复”或类似内容而不是 diff 并不是不合理的,但这并不是它的设计行为方式。

于 2018-03-02T21:11:54.750 回答