Команда: patch
sfk patch [-revoke|-redo] yourpatchfile.cpp [-sim|-verify]
искать текстовые блоки в файле(ах) и заменять их другими текстовыми блоками,
включая создание резервных копий и дополнительное восстановление исходных файлов.
-revoke: отменить все исправления, заменив измененные цели
файлами резервных копий, которые sfk хранит в save_patch.
после этого затрагиваются целевые файлы (обновление даты/времени)
для обеспечения правильной перекомпиляции. используйте -keep-dates, чтобы избежать этого.
-redo : отменить все исправления, а затем повторно применить исправления.
лучше всего использовать всякий раз, когда вы меняете сам патч-файл,
чтобы ваши изменения были обновлены в целевых файлах.
-exact-match: по умолчанию начальные пробелы игнорируются.
используйте эту опцию для обеспечения точного совпадения строк 1:1.
-keep-dates: по умолчанию удаляются отозванные файлы. использовать этот вариант
для обеспечения соблюдения дат исходных файлов (но только для окон).
-sim : имитировать то, что будет делать патч, ничего не меняя.
-qs : краткая сводка, просто сообщите однострочный статус.
-stats : показать статистику использования select-replace.
-verify : проверить, не поврежден ли примененный патч.
-nopid : применить безотзывный патч без [идентификатора патча].
-anyroot : игнорировать запись :root dir в файле исправления.
правила патч-файла:
- патчи выполняются точно в том порядке, в котором они указаны в файле патчей.
- каждый оператор :from/:to выполняется ровно один раз.
- если ЛЮБОЙ из операторов :from/:to не соответствует вводу,
весь файл НЕ пропатчен.
- первый блок :to для нового целевого файла должен содержать слово [patch-id],
с помощью комментария в синтаксисе целевого файла, например, в C++: // [идентификатор исправления].
это помечает файл как исправленный -> sfk не будет исправлять его снова.
рекомендуется, чтобы ваши файлы патчей имели окончание .cpp (или .java и т. д.)
чтобы включить подсветку синтаксиса в вашем любимом текстовом редакторе.
патч sfk - пример
показывает подробный пример файла исправления.
патч sfk -шаблон
дает простой пустой шаблон patchfile.