Perforce无法解析移动的文件

时间:2019-06-22 01:08:08

标签: perforce

我正在尝试将一个分支与几个已移动的文件集成在一起。它们未在目标分支中修改,但显示为冲突。单击“接受源”时,文件从冲突对话框中静默消失,但在更改列表中仍保持标记为冲突。我可以解决此问题的一种方法是添加-Di标志,但这对我的团队来说是一个很大的禁忌。我还尝试了通过命令行进行p4解析,并得到了相同的结果(没有错误或任何东西,但没有任何解析)。

这是怎么回事,我该如何解决保留移动历史记录的问题?

2 个答案:

答案 0 :(得分:0)

要做:

p4 resolve -as
从命令行

。在大多数情况下,这就是您要做的;它告诉决心接受相对于基准的更改(这意味着在目标未更改的情况下接受源)。

(正在更新以包括来自评论的其他信息)

如果执行此操作,则会收到类似以下错误消息:

  

无法移动(可以删除);必须接受其他解决方案或忽略

这意味着文件已在源文件中移动(这意味着通常resolve -as会移动工作空间文件以使其匹配),但是无法移动工作空间中的文件,因为它已经为删除(您无法移动已删除的文件)。如果您移动文件,删除文件,然后尝试独立解决这两个操作(但不之间提交),则会发生这种情况非常罕见。在这种情况下,您可能想通过执行以下操作来专门“忽略”移动解析(如错误消息所示):

p4 resolve -ay

如果您以某种方式使工作文件处于错误状态(也许您在设置集成之前运行了随机命令,并且工作区未处于干净状态),而且都不知道如何到达此处如果您只想进行基本的集成而忘了之前所做的工作,或者对取证没有兴趣,则始终可以像这样重新开始:

p4 revert FILE
p4 integrate -b BRANCH FILE
p4 resolve -as

答案 1 :(得分:0)

发生了什么

Perforce无法正确处理合并/集成中的移动文件。我可以确认这在最新版本中仍然是一个问题。我们经常有这种情况。

说,团队A正在// OurDepot / ExclusiveContentOfTeamA /上,然后您将其合并到团队B的分支中。考虑一下B队没有碰过(甚至没有看过)那个位置的情况。

在这种情况下,合并应该很容易,对吗?错了!

如果A组移动和删除了文件,则合并是否有效始终是骰子滚动。大多数时候,“接受来源”会解决问题,但有时您会得到问题中描述的状态。

以及如何解决保留移动历史记录的问题?

不能。您所能做的是一些骇人听闻的解决方案,迫使perforce删除文件(p4 resolve -ay),然后通过将文件重新添加为新文件来手动修复分支中的状态。历史将会丢失。