我想出了一个解决方案来制作一个使用 p4diff.exe 程序从 Perforce 中区分文件的批处理文件。
它的问题是 p4diff 输出整个文件,而不仅仅是更改的部分(我也更喜欢统一差异)。此外,区分特定版本需要从命令行调用 rtfdiff(自定义工具仅针对 HEAD 进行区分)。
p4v 自定义工具定义(将其写入 tool.xml,然后将其导入 p4v 的管理自定义工具菜单):
<CustomToolDef>
<Definition>
<Name>RTF Diff</Name>
<Command>c:\scripts\rtfdiff.bat</Command>
<Arguments>%f</Arguments>
</Definition>
<AddToContext>true</AddToContext>
</CustomToolDef>
rtfdiff.bat 在哪里
:: Use p4diff to get copy-pasteable diff output.
:: setlocal so we use the default after script terminates
setlocal
set P4DIFF=c:\Perforce\p4diff.exe
:: Diff all inputs to allow multiple revisions (must be in increasing order)
p4 diff %*
这将允许您右键单击文件并选择“RTF Diff”或通过命令行 ( rtfdiff.bat file.txt#1 file.txt#2
) 调用 rtfdiff.bat。