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 的缓存文件改变...)
我的项目大约每个流 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 的缓存文件改变...)