我正在 Perforce 中进行集成,并遇到以下问题:
p4 integrate -1 -d -i -t -r -b my_branchspec
//Foo/file.txt#6 - integrate from //Bar/file.txt#6
p4 resolve -am
/Foo/file.txt - merging //Bar/file.txt#6
/Foo/file.txt tampered with before resolve - edit or revert.
似乎无论我做什么,都无法解决这个问题:下一次前向集成将显示类似的消息。
该文件是一个文本文件。我可以确认这两个文件的 MD5 哈希值前集成过程是一样的。此文件还可能存在哪些问题,我可以解决这些问题以修复此烦人的消息?
答案1
sync -f
对该特定文件执行强制重新同步( ),然后解决它们的问题( resolve -at
)(因为我没有触碰该文件)可以使问题消失。
答案2
您是否在混合操作系统环境中工作,特别是 Mac 和 PC?
我们目前正在调查一个问题,即在 PC 上解决(没有错误!)后文件会消失。文件类型为“apple”(但不应该/不需要是。不幸的是,我们的仓库中已经有很多这样的文件了)。
当前的解决方法是在 Mac 上进行集成。
答案3
很难说出是什么原因导致了这种情况 - 也许是文件的权限被改变了?
无论如何,如果你恢复//Foo/file.txt,你应该没问题。
答案4
如果在尝试合并更改时放弃合并工具而改用外部编辑器来应用更改,则可能会遇到此问题。
我不知道如何消除错误,以便它只接受我的手动“篡改”。
似乎有效的是(这有点麻烦)
- 复制整个源树;
- 撤销 P4V 中的所有更改;
- 与副本进行比较并将所有更改重新应用到 P4V 工作区树;
- 在 P4V 中,选择“协调离线工作”;
- 提交更改;
- 重新尝试合并所需的变更集;
- 通过选择“接受目标”解决所有冲突;
- 提交未改变的文件。
需要最后的步骤以便 P4V 知道变更集已合并。
我希望 Perforce 的某个人能读到这篇文章。没有通过 GUI 覆盖“篡改”错误的选项真是太麻烦了。