将Perforce depot的相同部分映射到多个位置?

Pau*_*cas 2 perforce perforce-client-spec

是否可以将仓库的同一部分映射到两个(或更多)不同的位置?

//depot/branches/foo/... //my_client/foo/...
//depot/branches/foo/... //my_client/foo1/...
Run Code Online (Sandbox Code Playgroud)

我想要的原因是能够同时对同一个文件进行不相关和不重叠的更改.

(如果它们是不同的文件,我当然可以在单个映射中使用不同的更改列表.)

Sam*_*ord 5

给定的客户端视图在给定时间只能具有给定的库文件之一.也就是说,这里有三种可能的方法可以同时对同一个文件进行两种不同的更改:

1)您的两个更改是否需要同时存在于客户端计算机上?如果没有,当您想暂停第一次更改时,"搁置"它,还原您的本地文件,然后进行第二次更改.您可以拥有与单个客户端关联的文件(在不同的更改列表中)的任意数量的"搁置"版本,但工作区中实际只存在"打开"文件.

2)你实际上是否需要在你的机器上同时使用这两个文件,但不一定需要同时对它们运行Perforce命令(比如它们之间的合并更改,相互之间的差异,将它们作为单个更改提交等)?如果是这样,拥有多个客户端规格是一个不错的选择.确保它们具有不同的根(因此不同的本地文件系统位置),并使用P4CONFIG文件,以便您自动使用与您的工作目录匹配的客户端规范.

3)您是否需要这两个文件并希望能够同时对它们进行不同的更改集,对这两个变体进行区分,并在它们之间合并更改?如果是这样,你想建立一个新的分支.做:

p4 integ //depot/branches/foo/... //depot/branches/foo1/...
p4 submit
Run Code Online (Sandbox Code Playgroud)

现在,软件仓库和工作区中有两组文件; 您可以对它们进行独立更改,然后根据需要使用"p4 integ"将它们之间的更改(在任一方向上)合并.