Командная строка Perforce имеет специальный переключатель -G, который, предположительно, заставляет его вывод быть машиносчитываемым, используя формат сериализации «pickle» python. Неужели это вообще так?Как разобрать Perforce «pickle» двоичный выход?
Например, рассмотрите вывод p4 -G diff -duw3 <file1> <file2> <file3>
. Вывод, насколько я могу судить, представляет собой последовательность: pickle, raw diff, pickle, raw diff, pickle, raw diff. Он, как представляется, не содержит разделителей, которые позволяли бы надежно находить границы рассола/дифракции.
Я что-то пропустил или это «машиночитаемый» формат на самом деле не удобочитаемый машиной? Как я могу найти границы между соленьями и сырыми различиями в своем выходе?
Как сказал Дуглас, это, кажется, ошибка с p4. Вы должны связаться с Perforce Support для этого (и напишите здесь ответ). – jhwist
Будет, если я получу ответ - я на бесплатной 2-пользовательской лицензии, поэтому я, возможно, не слышу. –