2015-02-10 60 views
1

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

//depot/branches/foo/... //my_client/foo/... 
//depot/branches/foo/... //my_client/foo1/... 

我想这样做的原因是为了能够使在同一文件(一个或多个)同时无关和不重叠的变化。

(如果他们不同文件,我可以简单地在一个单一的映射使用过程中的不同变化列表。)

+0

为什么不只是做一个分支?这就是我对同一个文件同时进行不相关且不重叠的更改的方式。 – 2015-02-11 00:03:02

+0

我_could_,但它增加了必须整合到/从单独的分支的额外步骤。 – 2015-02-11 15:16:59

回答

4

一个给定的客户视图只能有一个给定的一个在特定时间的软件仓库文件。也就是说,这里有三种可能的方式来同时对同一个文件进行两种不同的更改:

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

2)你实际上是否需要在你的机器上同时存在两个文件,但不一定需要同时运行Perforce命令(比如它们之间的合并更改,它们之间的差异,提交它们都是一个单独的更改,等等)?如果是这样,有多个客户端规格是一个不错的选择。确保它们具有不同的根(因此不同的本地文件系统位置),并使用P4CONFIG文件,以便您自动使用与您的工作目录匹配的客户端规范。 3)你是否需要这两个文件,并希望能够同时对它们进行不同的变更版本的设置,区分这两个变体,并合并它们之间的变化?如果是这样,你想创建一个新的分支。请执行以下操作:

p4 integ //depot/branches/foo/... //depot/branches/foo1/... 
p4 submit 

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

+0

我认为选项2是最简单的。 – 2015-02-11 15:17:54

相关问题