为什么我的还原文件仍在Code Collaborator中显示为已编辑?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的还原文件仍在Code Collaborator中显示为已编辑?相关的知识,希望对你有一定的参考价值。

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

CC审核摘要页面显示了SomeFile.h:

SomeFile.h status

我希望从CC's Review Summary Screen manual的下表中看到“File was reverted”符号,它似乎不包括实际显示的符号:

CC's review summary screen key

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

为什么仍然显示当前签入版本没有更改的文件,第一个版本更改并且没有“已恢复”符号?

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

答案

我对Code Collaborator不是很熟悉,但是当你“恢复”Perforce中的变化时我会猜测(注意Perforce中的“revert”一词指的是一个完全不同的操作,所以这样使用这个词这有点令人困惑)这在Perforce中反映为正常编辑,因此它不会在CC中显示为特殊的“恢复”操作。我进一步猜测,当你看到差异中的旧变化时,它们就在文件的先前版本中,所以你的更改确实在当前版本中被删除了。

Perforce确实有一个原生的“撤销”操作,它存储在元数据中,与编辑不同 - 但是,这是一个新功能(在2016.2服务器中添加),据我所知,其他任何客户都不支持比命令行。除非最近更新,否则CC本身可能不会将本机Perforce撤消显示为还原。 (如果您是命令行用户,那么它非常流畅 - 文件历史记录将准确显示撤消的修订版本,并且您可以配置“integrate”命令以将撤消操作考虑在内,以便您可以重新执行撤消集成而不是将撤消视为添加新更改的简单编辑。

另一答案

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

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

Reverted CodeCollaborator file

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

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

即使在还原后,任何包含评论的文件仍会在评论中显示。这可能是为了防止部分审查讨论被正在进行讨论的文件丢失。 (例如,如果审阅者提出了建议重命名文件的问题,这将是常见的情况。)

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

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

我同意这可能令人困惑,因为很容易错过蓝色箭头并认为变化仍然存在。它确实意味着对该文件的任何评论(通常在处于“已更改”状态时进行)将保留在最初存在的更改的上下文中。 CodeCollaborator显示“此文件已被还原”或类似的东西而不是差异是不合理的,但这并不是它的设计行为方式。

以上是关于为什么我的还原文件仍在Code Collaborator中显示为已编辑?的主要内容,如果未能解决你的问题,请参考以下文章

09.安装Collabora Online服务

内网docker安装collabora

基于OpenXR,Collabora推开源VI-SLAM AR/VR定位系统

visual studio code 重置所有设置(还原默认设置)

使用NUGet自动下载(还原)项目中使用的包

已删除的迁移文件仍在迁移