Просто нашел ваш вопрос после сохранения некоторых моих изменений в патче и возвращаясь их для того, чтобы проверить некоторые из исходного кода ...
Предполагая, что вы используете приличный эмулятор терминала, эта операция один раз может занять вас до часа или около того.
Хорошо, что вы не можете натолкнуться на это ежедневно, поскольку теперь вы, вероятно, теперь будете использовать «-du», по крайней мере, я уверен, что так и сделаю. Просто скопировать и вставить имя файла в качестве запроса:
$ patch -i cucu.diff
can't find file to patch at input line 2
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|==== //depot/foo/boo.cpp#1 - /home/who/perforce/foo/boo.cpp ====
--------------------------
File to patch:
<double-click!> to copy
<middle-click!> to paste
File to patch: /home/who/perforce/foo/boo.cpp <CR>
Возможно, вы будете иметь 100 файлов в патче ... продолжайте нажимать :-)
Если вы ищете для выражения Подста (VIM , SED):
s/.* - \(.*\) ====/+++: \1/
Но - будьте осторожны, если вы добавили источники (целые файлы, p4 добавить), их содержание, вероятно, не будет напечатано в диффе - в этом случае никто не сможет повторно исправить их в ...
Связанный: http://stackoverflow.com/questions/8289306/perforce-diff-to-git – slaphappy
вы, вероятно, может конвертировать с СЭД. это также грубый формат от gnu diff, так что, вероятно, есть некоторые разумные инструменты, поддерживайте надежду на живого друга. – wowest
Я пытаюсь применить патч, сохраненный ['p4 описать -du'] (https://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_describe.html). Это дает сообщение об ошибке с командой unix patch: «Только мусор был найден во входе патча». –