При работе с готовыми программными модулями с открытым исходным кодом, когда разработка и поддержка может осуществляться разными авторами, порой возникает необходимость применения к имеющимся программным файлам так называемого патча (patch) или заплатки. Команда, которую необходимо выполнить, выглядит следующим образом:

patch -p0 < имя_файла.patch

здесь patch - программа, которая выполняет изменение файлов; -p0 - опции команды, имя_файла.patch - сама заплатка.

На первый взгляд, тут все просто, но в опереционной системе Windows нет такой программы patch. Программа patch среди многих других утилит родилась в никсовой среде. Однако, есть портированные версии и в другие среды, в частности, в Windows. Скачиваем пакет утилит http://sourceforge.net/projects/unxutils, находим там patch и копируем, например, в каталог Windows (или в любой другой, перечисленный в переменной PATH), чтобы программа была доступна из любого каталога. После этого на Вашей системе команда будет доступна также как и на Линукс.

Возможная проблема

При выполнении программы patch под Windows Может появиться сообщение об ошибке, содержащее такие строки:

Assertion failed: hunk, file patch.c, line 321
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

В этом случае нужно пересохранить файл с заплаткой в каком-нибудь текстовом редакторе кроме Notepad, чтобы тот заменил символы перевода строки на формат виндовс. Например, Rapid CSS 2008 правильно сохраняет такие файлы без дополнительных указаний просто командой File-Save или Ctrl+S.

Рубрики: