我最近也有类似的需求,并用 shell 脚本编写了一个解决方案。
对我来说,问题在于它p4 resolve
想要交互,但我只想查看文件中的冲突。
我不想运行p4 resolve -f
,因为这会将文件标记为在 Perforce 中已解决。
我只是想查看冲突,也许将它们通过电子邮件发送给其他人,而没有真正解决。(e)dit
您可以使用 的和(s)kip
命令以交互方式执行此操作p4 resolve
,但我想要一个不干涉的版本。
将此脚本另存为p4-dump-conflicts
:
#!/usr/bin/env bash
function cat_to_file() {
cat "$@" > "$OUTFILE"
}
export -f cat_to_file
destFileName=$(dirname "$1")/CONFLICTS_$(basename "$1")
OUTFILE="$destFileName" P4EDITOR=cat_to_file p4 resolve "$1" <<END_INPUT
e
s
END_INPUT
如果你运行p4-dump-conflicts myfile
,它会写出CONFLICTS_myfile
,包含冲突标记。但是,它会使文件在 Perforce 中无法解析。
注意:仅适用于一个文件,原样。
特别是对于您的问题,您可以根据需要处理 CONFLICTS_xxx 文件,然后将其结果用于最终合并解决方案。