Perforce(P4)如何仅同步指定文件夹下的特定类型文件
Perforce完全支持你需要的过滤规则,无需逐个添加文件,新增的对应格式文件会自动匹配规则生效,你可以选择通过工作区单独配置或者流全局配置实现,两种方案都可以通过P4V UI完成操作。
规则优先级说明
Perforce的路径匹配规则遵循从上到下匹配,后定义的规则优先级更高的逻辑,你给出的规则顺序完全符合要求,无需调整顺序。
方案1:工作区独立配置(适合仅个人工作区需要该规则的场景)
适合不需要修改团队通用配置,仅自己的工作区应用过滤规则的场景:
- 打开P4V,点击顶部菜单栏
Connection -> Edit Current Workspace,如果需要修改其他工作区,可在Workspaces标签页右键对应工作区选择Edit Workspace - 在弹出的编辑窗口中切换到
View标签页,在原有映射规则下方按顺序添加如下规则(将示例中的你的工作区名称替换为你实际的工作区名,depot替换为你的实际仓库名):
//depot/root/... //你的工作区名称/root/... -//depot/root/*.max //你的工作区名称/root/*.max -//depot/root/*.ma //你的工作区名称/root/*.ma -//depot/root/*.mb //你的工作区名称/root/*.mb //depot/root/Engine/Data/Models/Reference/*.max //你的工作区名称/root/Engine/Data/Models/Reference/*.max //depot/root/Engine/Data/Models/Reference/*.ma //你的工作区名称/root/Engine/Data/Models/Reference/*.ma //depot/root/Engine/Data/Models/Reference/*.mb //你的工作区名称/root/Engine/Data/Models/Reference/*.mb
如果你需要覆盖Reference文件夹下所有层级子目录的对应格式文件,把最后三行的
*.max/*.ma/*.mb替换为.../*.max即可,后续新增子目录中的这类文件也会自动同步。
- 点击
OK保存配置,后续同步工作区时会自动过滤掉其他目录下的对应格式文件。
方案2:流全局配置(适合团队统一应用规则的场景)
如果你们使用流开发模式,可以直接把规则写入流定义,所有关联该流的工作区都会自动应用规则,无需逐个修改工作区:
- 打开P4V的
Streams标签页,找到需要修改的流,右键选择Edit Stream - 在弹出的编辑窗口中切换到
Paths标签页,在原有路径配置下方按顺序添加如下规则:
share root/... ignore *.max ignore *.ma ignore *.mb share root/Engine/Data/Models/Reference/.../*.max share root/Engine/Data/Models/Reference/.../*.ma share root/Engine/Data/Models/Reference/.../*.mb
- 保存流定义后,所有使用该流的工作区下次同步时自动应用该过滤规则。
额外说明
如果配置规则前你已经同步过其他目录下的.max/.ma/.mb文件,可以在P4V中右键工作区根目录选择Remove Unversioned Files,或者执行p4 clean命令清理本地冗余的大文件,释放存储空间。
内容的提问来源于stack exchange,提问作者Miko
相关产品推荐
相关产品推荐

