我是Perforce的新手,想要创建一个自动化工具来自行获取最新版本。我有这样的映射:
P4CLIENT: Proj_name
Worspace root direcctory: C:\...\Proj_name
Stream: Build
现在我想要的是它应该获得所有文件的最新版本:
Build\fold1\fold2 to C:\...\Proj_name\fold1\fold2
当我刚刚运行p4 sync command
时,它会复制Build to C:\...\Proj_name
中的所有文件。
因此,请告诉您如何指定从哪里获取最新版本的文件夹路径。命令p4 sync //depot/proj1/...
是否对我有效?它在我的情况下会如何变化?
答案 0 :(得分:2)
您可以使用客户端规范的View:
部分来描述您希望使用的整个存储库的哪些部分,以及这些文件应放在工作站的文件系统中的位置。
在您的特定情况下,要指定文件夹路径以及应放置这些文件的位置,您可以将View:
指定为:
View:
//depot/Build/fold1/fold2/... //Proj_name/fold1/fold2/...
您可能有更复杂的视图映射;视图语法非常强大。要了解有关视图映射的详细信息,请键入p4 help views
。
更改客户端的View:
规范后,请运行:
p4 sync
sync
命令会注意到您已更改了视图映射,它将重新排列工作站上客户端根目录中的文件,以便按照新视图映射的说明进行排列
如果您不希望同步整个客户端,则可以通过使用文件命名该文件子集来指定应该同步的文件的子集pattern作为sync
命令的参数:
p4 sync //depot/Build/fold1/fold2/*.cpp
然而,这可能会令人困惑,我建议您首先避免使用该高级用法,并坚持执行没有文件参数的p4 sync
,至少在您对如何使用使用p4 sync
。首先,当您使用不同的文件参数同步不同的文件子集时,通过从一个更改列表中获取一半的文件,可以很容易地将工作站的文件系统置于不可构建的状态和另一半,这将导致你有没有编译的代码等。
所以,现在:
p4 client
并使用View:
字段的模式匹配语法1>描述相应的View:
行以指定这些文件
p4 sync
,Perforce会按规定将这些文件放在您的计算机上。