【发布时间】:2013-09-29 22:17:08
【问题描述】:
我有 3 个不同的 Perforce Depot(A、B 和 C)。这 3 个 Depot 中的每一个都有很长的修订历史,并且包含许多内部移动和删除的文件。
我想将 A、B 和 C 的内容移动到新仓库 D 内的文件夹中。一旦我这样做了,我想删除 A、B 和 C。我尝试了其中的 P4 移动命令P4V,但我似乎无法将已删除的文件从 A、B 和 C 移动到 D 中的新文件夹。
有没有办法做到这一点(在 P4V、P4Admin 或通过命令行)?基本上,将整个 Depot 移动到新 Depot 中的文件夹中并保持完整的修订历史记录(包括已删除的文件)。
谢谢!
【问题讨论】:
-
您删除这些文件的事实意味着您不再需要它们。为什么要将未使用的文件移动到新位置?
-
我们在客户端/服务器系统上工作,有时我们需要挖掘 P4 更改列表以查看旧版本的客户端如何与服务器通信。所以我们想保留删除的文件作为参考工具。
-
那些已删除的文件将一直存在,除非管理员将其删除。如果您“挖掘 P4 变更列表以查看旧版本的通信方式”,这些变更列表将告诉您文件所在的位置。即使跨分支操作,Perforce 也会保持完整的历史记录。您想要的任何旧代码都可以轻松检索。我想我只是不明白你觉得缺少什么。
-
Raven,即使删除旧的 Depot 也会这样吗?我认为要删除 Depot,您必须清除所有文件。我们基本上是想销毁原来的 Depot,并将它们的内容(包括已删除的文件)保留在新的 Depot 中。
-
要删除一个仓库,你必须删除它的内容,但你不想这样做。听起来你想改变历史。您希望 Perforce 假装这些文件最初不是在 A、B 和 C 中创建的,而是一直驻留在 D 中。不容易做到。可能有一些复杂的脚本(或通过 API)可以在新位置重现所有文件操作,就像他们拥有的可以导入 VSS 数据集的 Python 脚本行一样。