Perforce:通过复制现有工作区来设置工作区?

Perforce: Set up Workspace by copying existing workspace?

我的项目大约每个流 100 GB,每个工作区额外添加 60 GB 用于本地本地缓存文件。

不是每次我需要新流的工作空间时都从软件仓库下载和重建,有没有办法复制我已经下载和设置的工作空间,然后让 Perforce 将其识别为不同的工作空间的一部分流?

你的第一部作品space clientA 植根于 /home/clientA 而你的新作品space 将是 clientB,做:

cp -r /home/clientA/ /home/clientB/
p4 set P4CLIENT=clientB                   # or use P4CONFIG files
p4 client -t clientA
p4 sync -k @clientA
p4 clean

现在您已将 clientB 设置为 clientA 的副本——sync -k 命令告诉服务器 "sync everything that clientA has but don't send me the actual files, just pretend that I synced them." p4 clean 命令应该是一个空操作,但是如果你以某种方式弄乱了副本或者你在 clientA 或其他地方打开了文件,这将通过强制重新同步错误的文件来修复它。

现在你已经完成了你可以做的事情:

p4 switch STREAMNAME

这会将您切换到不同的流,只同步不同的文件。很多人只有一个作品space,用p4 switch跳槽;它会自动存储您正在进行的工作和所有内容,并且您可以通过不拥有所有内容的多个副本来节省本地磁盘 space。 (有多个 workspace 的一个很好的例子是,如果你有空闲的 space 并且你不想每次你的 workspace 内容都重建那 60GB 的缓存文件改变...)