1

我正在编写一个用于清理历史记录和修订选定文件的脚本。

我将二进制文件的 FileType 更改为 binary+S3,因此该文件现在将仅保留 3 的最新修订版。

当我使用这种方法时,我总是在我的仓库文件中看到其他修订的历史记录,但它们现在是“清除”,而不是使用 p4 obliterate 函数删除所有修订并且不保留一些“清除”修订。

我的问题:在所有修订版中预期 5 被删除的文件和使用 +S5 属性的文件之间有什么区别。

谢谢 !

4

1 回答 1

3

如果您使用“p4 delete”,则该文件在逻辑上被删除,但之前的修订版仍保留在存储库中,因此您可以通过明确指定之前的修订版来访问它。

如果您使用 +S 之类的文件类型,则会从存储库中清除先前的修订,并且您无法将工作区同步到先前的修订。

也就是说,清除旧版本可以节省服务器上的磁盘空间,但意味着您不能再访问这些旧版本。

清除修订版和删除修订版之间的区别在于清除修订版的历史仍然存在,因此您知道该修订版何时提交以及由哪个更改列表等提交,而对于已清除修订版,Perforce 无法告诉您有关这些旧修订版的任何信息。删除可以在服务器上节省更多磁盘空间,但当然是通过删除更多信息来实现的。

于 2012-01-11T14:31:01.567 回答