Perforce:如何将不同的Stream路径重新映射到同一个Workspace文件夹?

时间:2013-02-09 01:45:34

标签: perforce

我们一直在工作室设置Perforce,为了简单起见,我们决定使用Streams。我遇到的一个问题是无法将Stream中的多个文件夹重新映射到Workspace中的同一目标文件夹中。

我知道Overlay Operator(+),但在设置Stream View Path时不允许这样做。我尝试使用Workspace Remap来完成它,但它似乎没有工作。 基本上我要做的是

Dev/FolderA/... Dev/...
+Dev/FolderB/... Dev/...

FolderA和FolderB具有不同名称的不同文件,我唯一感兴趣的是将它们放在同一文件夹中是为了在本地驱动器中进行构建。

有什么想法吗?

PS:我知道这与perforce client spec - making different depot paths map to the same client workspace path类似,区别在于这仅适用于传统的本地软件仓库视图(不是流)。

谢谢!

1 个答案:

答案 0 :(得分:3)

“+”行称为叠加映射,它们不能用于流工作区视图规范。

流框架有一些原始Perforce没有的约束。您正在寻找的简单性依赖于这些约束。您可能已经注意到的另一个约束是,您不能拥有诸如'... this / example / ...'或'this /.../ one'之类的前导或嵌入式通配符。

因此,如果您正在尝试使流完全与您习惯使用本机Perforce进行操作,那么您最终可能会投入大量工作而不会获得大量收益。与任何框架一样,充分利用流的最佳方式是重新开始,并根据其优势启动新的工作流程。

话虽如此,你可以尝试一种偷偷摸摸的伎俩。您可以创建映射流库路径的静态非流客户端视图。您喜欢的任何映射语法都可以在非流客户端视图中使用。

非流式视图可用于同步流文件并对其进行处理,但不能提交它们。要提交文件,您必须将工作区切换到流客户端,提交文件,然后切换工作区。只要您不在切换视图之间重新同步,您的文件就不会在本地磁盘上重新排列。

这对您有多好,取决于您使用的客户工具等。某些工具可能不允许非流客户端处理流文件。其他工具可能允许它,但它们可能会显示不一致的状态,因为它们不希望您这样做。当然,从长远来看,颠覆这样的框架可能会让事情变得更复杂。