我想同时将一个目录映射到不同的本地文件夹(例如AA/adir
和BB/adir
)。这是下面的规范,但效果不佳。
有什么问题吗?
//仓库/adir/... //cws/build/AA/adir/... //depot/adir/... //cws/build/BB/adir/...
我想同时将一个目录映射到不同的本地文件夹(例如AA/adir
和BB/adir
)。这是下面的规范,但效果不佳。
有什么问题吗?
//仓库/adir/... //cws/build/AA/adir/... //depot/adir/... //cws/build/BB/adir/...
实际上,强烈要求仓库和工作空间之间存在一对一的关系。从文档:
所有视图都在软件仓库中的文件与客户端工作区、分支或标签中的文件之间构建一对一的映射。如果多个映射行引用相同的文件,则覆盖较早的映射。以连字符 (-) 开头的映射专门排除与该映射匹配的任何文件。在客户端视图中,以加号 (+) 开头的映射覆盖以前的映射。(覆盖映射不适用于分支或标签视图。)
所以像这样的映射:
//depot/adir/... //cws/build/AA/adir/...
//depot/adir/... //cws/build/BB/adir/...
仅激活第二行(赢得冲突)。
要执行您想要的操作,您需要使用两个不同的客户端(工作区),每个客户端都有一行示例。
您可以查看叠加映射,也许可以解决您的问题:
覆盖映射用于将多个软件仓库目录中的文件映射到工作空间中的同一位置。
//depot/dir1/... //cws/build/...
+//depot/dir2/... //cws/build/...
在 Perforce 中,您可以进行多对一映射,但不能进行一对多映射。您不能将同一文件同步到 2 个位置。您需要为其提供要同步的内容的明确列表。像这样的东西:
//depot/adir/... //cws/build/AA/adir/...
+//depot/adir/exception.c //cws/build/BB/adir/exception.c