我目前(并且定期)执行非常大的集成(通常是 50k+ 文件)。在 P4V 中,技术上可以显示和手动处理这些文件,但速度慢且笨拙。
是否有某种方法可以将未解析的文件移动到单独的 CL 而无需编写应用程序?我正在查看“p4 resolve -n”,但我无法弄清楚如何在 p4 重新打开时使用该输出(假设这甚至是做我想做的最好的方法。)
任何帮助,将不胜感激。
Sam Stafford 的回答很接近,但包含一个错误,所以这是一个带有解释的工作版本。
你可以使用这个:
p4 -F %localPath% resolve -n | p4 -x - reopen -c default
Run Code Online (Sandbox Code Playgroud)
解释:
-F %localPath%: 告诉 p4 以本地格式输出路径
resolve -n:意思是“列出未解析的文件而不实际解析它们”。( P4 解决)
-x -:告诉 p4 我们将处理文件列表,'-' 表示文件列表来自 stdin(管道)(p4 全局选项)
重新打开 -c 默认:重新打开给定更改列表中传入的指定文件(“默认”可以由现有更改列表编号替换)。(第4页重新打开)
更新:对于非常大的更改列表,有时命令会卡住。您可以通过 2 个步骤来解决此问题:
p4 -F %localPath% resolve –n > c:\p4_output.txt 2>c:\p4_errors.txt
p4 -x - reopen -c default < c:\p4_output.txt
Run Code Online (Sandbox Code Playgroud)
注意:重新打开已移动的文件时,p4 重新打开只会移动更改的“一半”(添加)并将删除保留在先前的更改列表中。除了手动移动它们之外,我还没有找到解决方案。
就像是:
p4 -F %localFile% resolve -n | p4 -x - reopen -c CHANGE
Run Code Online (Sandbox Code Playgroud)
应该这样做。(运行“p4 -e resolve -n”以查看输出中的可用变量列表,我认为 localFile 就是您想要的。)