Этот патч выглядит достаточно простым, чтобы вы могли просто применить его вручную - удалите строки, начинающиеся с -
, и добавьте строки, начинающиеся с +
- но это необходимо только при наличиидостаточно изменений, чтобы исправление не применялось корректно.
Поскольку файл исправления может быть сгенерирован разными способами, он также может применяться различными способами:
diff -u a a.fixed > fix_compile.diff
patch < fix_compile.diff
diff -u dir1/a dir2/a > fix_compile.diff
patch -p1 < fix_compile.diff
diff -u dir1 dir2 > fix_compile.diff
patch -p1 < fix_compile.diff
Если исправлен файлна шесть каталогов в иерархии, вам нужно либо попробовать применить исправление на шесть каталогов вверх, либо использовать -p6
или аналогичный параметр для удаления лишних ведущих каталогов.
Это может показаться сложным, но если выИзмените каталог на тот, в котором находятся файлы, подлежащие исправлению, вы можете обычно просто запустить patch < fix_compile.diff
или patch -p1 fix_compile.diff
.Мне нравится попробовать сначала применить патчи, на тот случай, если некоторые патчей применяются чисто, а некоторые нет:
patch --dry-run < fix_compile.diff
или
patch --dry-run -p1 < fix_compile.diff
и т. Д.Как только вы найдете тот, который работает, удалите --dry-run
и примените, скомпилируйте и посмотрите, можете ли вы пойти.