Perforce 是否可以进行嵌套工作区映射?

Are nested workspace mappings possible with Perforce?

我可以有一个工作区映射,其中一些软件仓库或部分软件仓库被映射为另一个软件仓库映射的子目录,就像在这个工作空间定义示例中一样:

//Depot_Base/...    //WorkspaceWithNestedMapping/...
//Depot_Sub1/...    //WorkspaceWithNestedMapping/Sub1/...
//Depot_Sub2/D2/... //WorkspaceWithNestedMapping/D2/...

p4 不会混淆 D2 下面添加的一些文件应该存储在服务器上的什么地方? (Depot_Base vs Depot_Sub2,我希望它成为Depot_Sub2的一部分)

是的,这是完全可能的,也是使用工作区映射的一种非常正常的方式。当不同的行发生冲突时,后面的行会覆盖前面的行。

一种思考方式是,对于给定的文件路径,映射是自下而上检查的,第一个匹配项就是被使用的那个。所以如果你这样做:

p4 add //WorkspaceWithNestedMapping/D2/foo

匹配行是映射底部的行,文件添加为:

//Depot/Sub2/D2/foo