P4命令行集成和解决问题

时间:2019-03-20 18:06:23

标签: command-line perforce

我经常使用git,但是我是P4命令行的新手。我使用过P4V,但现在没有该选项。我试图将变更从登台分支整合到主线:

p4 integrate //depot/working/staging/...@124466 //depot/mainline/...

p4 submit

这引起了其中一个文件的must resolve问题。

Merges still pending -- use 'resolve' to merge files.

因此,我运行了p4 resolve。这给了我合并,编辑等选项。我选择了编辑。在编辑屏幕上时,我按了一些击键,使编辑窗口关闭。现在我被卡住了。我无法完成解析。我尝试过的所有命令似乎都不起作用:

p4 resolve

p4 resolve -c 124570-由p4(?)创建的变更列表

p4 revert-恢复更改

p4 revert -c 124570

p4 revert -c 124570 <the file>

在所有这些上,光标仅位于此处。没有动作。

我尝试运行p4 submit -c 124570。这再次给了我use resolve的信息,但这不起作用。

有什么想法吗?我不知道谷歌还能做什么。帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

听起来编辑器进程仍在后台运行,p4正在等待其退出,以便继续进行解析。

知道您的编辑器是什么会有所帮助,但是我要大胆地猜测您使用的是Mac,并且它是TextEdit,因为这是一个很常见的冒犯者-在您的扩展坞中单击TextEdit,然后转到TextEdit > Quit TextEdit。 (将来,您可能需要p4 set P4EDITOR=vi或其他在关闭文件时会立即退出的内容,因为这在命令行工具中效果更好。)

如果不是TextEdit,但您知道如何使用命令行,请使用平台上的命令行专业知识来杀死编辑器(ps / kill或其他工具)。

所有操作失败,返回该闪烁的光标,然后按Ctrl-C即可终止p4进程。那将随处可用。 :P当您再次p4 resolve时,它应该大约从它停下来的地方开始取走(在杀死它之前,它可以记录到工作区和/或服务器的任何状态)。

答案 1 :(得分:0)

我也遇到类似的问题,我的配置文件p4editor,端口正确。然后解决命令也卡住了。

修复:使用-c添加cl#并将解析模式设置为自动。

 p4 resolve -am -c <CL#> 

am是自动模式。对于其他模式,请参考: https://www.perforce.com/manuals/v15.1/cmdref/p4_resolve.html