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

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


我希望这样做的原因是能够同时对同一文件进行不相关且不重叠的更改。

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

最佳答案

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

1)您的两个更改是否需要同时存在于客户端计算机上?如果不是这样,当您要暂停第一个更改的工作时,请“搁置”它,还原本地文件,然后进行第二个更改。您可以具有与单个客户端关联的文件的多个“搁置”版本(在不同的更改列表中),但是工作空间中实际上仅存在“打开”文件。

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

3)您是否既需要两个文件,又想同时对它们进行不同版本的版本控制,区分两个变体并合并它们之间的更改?如果是这样,您想创建一个新分支。做:

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


现在,软件仓库和工作空间中有两组文件。您可以对它们进行独立更改,并在以后使用“ p4 integ”将它们之间的更改合并(按任意方向)。

关于perforce - 将Perforce仓库的同一部分映射到多个地方?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28443601/

10-11 17:27