我想同时将目录映射到不同的本地文件夹(例如AA/adir
和BB/adir
)。以下是规格,但效果不佳。如何编写perforce客户端规范?
有什么问题吗?
//depot/adir/... //cws/build/AA/adir/... //depot/adir/... //cws/build/BB/adir/...
我想同时将目录映射到不同的本地文件夹(例如AA/adir
和BB/adir
)。以下是规格,但效果不佳。如何编写perforce客户端规范?
有什么问题吗?
//depot/adir/... //cws/build/AA/adir/... //depot/adir/... //cws/build/BB/adir/...
在perforce中,强烈要求仓库和工作区之间存在一对一的关系。 From the doc:
所有视图构建库中文件与客户端工作区,分支或标签中的文件之间的一对一映射。如果多个映射行指向相同的文件,则先前的映射将被覆盖。以连字符( - )开头的映射明确排除与该映射匹配的任何文件。在客户端视图中,以加号(+)开头的映射覆盖以前的映射。 (覆盖映射并不适用于分支或标签的观点。)
因此喜欢的映射:
//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
你能解释一下你想做这个的原因吗,可能有更好的办法吗? – 2010-11-07 09:34:49