2

我在 P4 有一个分支

//depot/MyDemoInfo/trunk/Server/My_Service 

& 在 My_Service 下,我的整个源代码都存在。

现在,当我尝试从上面的主干分支创建一个新分支时,它给了我错误:

我正在尝试创建一个新的发布分支,如下所示:

//depot/MyDemoInfo/1.0/Server/My_Service 

因此,我在客户端规范中添加了以下命令后发出了以下命令:

p4 integrate //depot/MyDemoInfo/trunk/Server/My_Service/... //depot/MyDemoInfo/1.0/Server/My_Service/...

它给出了以下错误:

//depot/MyDemoInfo/1.0/Server/My_Service//abc.txt - can't integrate from //depot/MyDemoInfo/trunk/Server/My_Service/abc.txt#1 (moved from //depot/MyDemoInfo/trunk/Server/My_Service/abc.txt; provide a branch view that maps this file, or use -Di to disregard move/deletes)

对于我的主干分支中的所有文件,它给出了相同的上述错误。有人可以帮我这里出了什么问题吗?

谢谢!

4

2 回答 2

3

运行 ap4 integrate时,应将集成目标映射到您的perforce client workspace中,这就是此错误所指示的:

provide a branch view that maps this file, or use -Di to disregard move/deletes

使用p4 clientor p4v,将以下 perforce depot 映射//depot/MyDemoInfo/1.0/Server/My_Service到您的客户端工作区到您机器上的某个目录,例如:/myp4workspace/MyDemoInfo/1.0/Server/My_Service

然后这样做:

cd /myp4workspace/MyDemoInfo/1.0/Server/My_Service
p4 integrate //depot/MyDemoInfo/trunk/Server/My_Service/... ...

# This is optional, but a regular workflow to make sure you resolve all the conflicts
# Display any conflicts (there shouldn't be any since this is the first time you're integrating into this location)
p4 resolve -n ... 

# If there are any, use p4 resolve -as ... , p4 resolve -am ... , and then p4 resolve ...

# Submit your changes after verifying it is correct
p4 submit ...

您可能需要注意的另一件事是,p4 integrate使用该-t -d选项运行,以便它保留文件类型,并引入任何已删除的文件更改(尽管在您的情况下这两个选项可能不是真正需要的,但在指定时没有错他们)。

您还可以在进行任何集成之前运行p4 where以确认您在正确的 perforce 仓库位置。

于 2013-03-11T20:28:39.773 回答
1

您的integrate命令中缺少斜杠。目标/目的地应该在....

试试这个:

p4 integrate //depot/MyDemoInfo/trunk/Server/My_Service/... //depot/MyDemoInfo/1.0/Server/My_Service/...
----------------------------------------------------------------------------------------------------^

那可能会解决它。如果不是,请确认目标位于您的客户端规范映射中。

于 2013-03-11T19:59:49.923 回答