Я нашел решение для создания командного файла, который отличает файлы от Perforce, с помощью программы p4diff.exe.
Проблема в том, что p4diff выводит весь файл, а не только измененные разделы (я бы также предпочел унифицированный diff). Кроме того, для изменения определенных ревизий требуется вызвать rtfdiff из командной строки (пользовательский инструмент просто сравнивает с HEAD).
p4v custom tool определение (запишите это в tool.xml и затем импортируйте его в меню p4v Manage Custom Tools):
<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 через командную строку (rtfdiff.bat file.txt#1 file.txt#2
).