在 AccuRev 中,当我查看文件的历史记录时(在“历史记录模式”下),我会看到对文件执行的操作列表。每个动作都有一个数字 (#) 和一个版本。
当我单击其中一个操作时,会出现另一个列表,其中显示了该操作所涉及的每个文件(包括我正在调查其历史记录的文件)。此下部面板中的每个条目都有一个“虚拟版本”和一个“真实版本”。
顶部面板中的“版本”似乎与下方面板中我的文件的“虚拟版本”相同。
#、虚拟版和真实版有什么区别?为什么虚拟和真实版本有两个用斜线分隔的数字?
在 AccuRev 中,当我查看文件的历史记录时(在“历史记录模式”下),我会看到对文件执行的操作列表。每个动作都有一个数字 (#) 和一个版本。
当我单击其中一个操作时,会出现另一个列表,其中显示了该操作所涉及的每个文件(包括我正在调查其历史记录的文件)。此下部面板中的每个条目都有一个“虚拟版本”和一个“真实版本”。
顶部面板中的“版本”似乎与下方面板中我的文件的“虚拟版本”相同。
#、虚拟版和真实版有什么区别?为什么虚拟和真实版本有两个用斜线分隔的数字?
我发现 AccuRev 文档令人困惑。以下是我的理解:
# 是交易编号。AccuRev 库中的每个操作都分配有一个唯一的(自动递增的)事务编号。当多个文件在一个操作中受到影响时,它们共享事务号。
“虚拟版本”是流名称(或编号),后跟一个斜杠,然后是它在该流上的版本计数。因此,IntegrationStream 上 helloworld.c 的第一个版本是 IntegrationStream/1,或者可能是 123/1 之类的数字。如果 AccuRev 向您显示一个数字,您可以查找相应的流名称。如果在另一个流中的文件上保留了多项更改,并且具有多项更改的文件最终被提升到此流 (IntegrationStream),则该数字仅增加 1。因此,此流上可见的下一个版本将是 IntegrationStream/2(或 123/2)。
“真实版本”是指第一次在软件仓库中看到该文件的修订版本。这将是在某人的工作空间中执行原始保留操作时。因此,如果在 IntegrationStream/2 中看到的文件版本是 Proj_jsmith/7 中升级到 IntegrationStream 的结果,那么实际版本显示为 Proj_jsmith/7。
如果适用,可以通过切换到显示祖先、合并和补丁行的“版本浏览器模式”来最好地理解祖先、合并和补丁版本。下方面板网格中的那些列通过将文件作为祖先或作为合并或补丁的源来引用与文件的给定版本相关联的版本。
#
是交易编号,每次更换仓库操作都会增加,并且不断增加。
AccuRev 帮助 (%PROGRAMFILES%/AccuRev/doc/WebHelp/InDepth_Real_and_Virtual_Versions.htm) 中描述了真实版本和虚拟版本之间的区别