Предположим, что список изменений 123456 - это рассматриваемый отложенный список изменений. Как упоминалось в предыдущем ответе, список файлов, связанных с этим списком изменений, можно получить с помощью команды p4 describe -s <changelist>
. Вот так:
$ p4 describe -s 123456
Change 123456 by john.doe@JohnsBranch on 2013/10/24 15:38:10 *pending*
[Shelving my changes for Jane.]
Fix memory corruption caused by uninitialized pointer.
Affected files ...
... //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 edit
Как только вы знаете файл (ы), о котором идет речь, есть несколько способов разграничить файлы без соответствующего рабочего пространства. Метод № 1 должен использовать p4 print
:
$ p4 print -q //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 > /tmp/old
$ p4 print -q //depot/branches/JohnsBranch/kernel/vm/pageutils.c@=123456 > /tmp/new
$ diff /tmp/old /tmp/new # Or use kdiff3, tkdiff, etc.
...
<diff output here>
Другой метод заключается в использовании p4 diff2
:
$ p4 diff2 //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 //depot/branches/JohnsBranch/kernel/vm/pageutils.c@=123456
...
<diff output here based on Perforce server's diff algorithm>
Оба метода могут быть легко включены в выбранный язык сценариев.