Подполковник
Сообщений: 100 Зарегистрирован: 09.11.2009 Страна: Российская Федерация Город: Ижевск
| Небольшая памятка по применению файлов *.patch Обычно какие-то исправления получаешь с новой версией модуля. Но случается разработчики не вносят исправления в официальный релиз сразу или вообще. Или исправления делаются не разработчиком. В этом случае нужные исправления можно получить в виде файла с именем kakoe-to-tam-imia.patch Команда patch Файл представляет из себя результат работы unix-команды diff, которая вычисляет разницу между двумя файлами. Разница записывается в простой текстовый файл,который может быть трех несколько разных форматов, но для друпал рекомендуется так называемый унифицированный. Применение патча заключается помещением его в дерево каталогов Drupal в то место, где он был создан и запуск его из корня сайта командой: patch < file.patch либо запуск его из папки где он создавался командой (сама программа patch при этом запускается из корня дерева Drupal): patch -p0 < path/file.patch Разработчики Drupal рекомендуют создавать патчи только в корне дерева Drupal, но кто бы их слушал. Определить, в каком каталоге создали патч можно открыв его в простом текстовом редакторе. Если в строке начинающейся с трех минусов вы видите знакомое sites/all/modules/.., значит все в порядке - кладите его в корень сайта и отдавайте рекомендуемую команду. Если только имя файла, значит надо класть патч в папку того модуля файл которого исправляется. Можно встретить и соломоново решение - патч содержит кусок пути от корня пакета до файла во внутренней папке. Например первый попавшийся мне патч на модуль image_attach содержал такую строчку. --- contrib/image_attach/image_attach.module Т.е. был сделан в папке модуля image для его субмодуля image_attach. Дополнительной сложностью для веб-мастеров, работающих под Windows будет то, что команды diff и patch в этой ОС отсутствуют. Если у вас нет доступа к командной строке сервера, то придется обзаводиться Windows-версией команды patch. Одним из вариантов может быть UnxUtils. Как его использовать, я писал на страничке Утилиты Unix (Linux) для Windows - UnxUtils. Вам понадобится только один файл patch.exe скопировать в системную папку Windows и можете использовать все вышеописанное. Если после применения заплатки появились какие-то проблемы в работе движка, то можно откатиться назад используя команду: patch -p0 -R < path/file.patch или patch -R < file.patch в зависимости от того, какой командой вы патчили изначально. Хотя на мой взгляд проще сохранить все файлы исходных кодов модуля, а потом просто вернуть их на место заменив пропатченные файлы. Ведь ошибка может произойти из-за некорректной работы программы patch, в этом случае шансы на удачный откат так же становятся зыбкими. Ссылка для скачивания программы Git с помощью которой всё это реализуется Code http://git-osx-installer.googlecode.com/files/git-1.6.1-intel-leopard.dmg P.S Юзал поиск на форуме,темы ненашёл,может быть кому и пригодится,в своё время я искал подобный FAQ. Врочем если администрации покажется что материал лишний то можно удалить тему :))
Портал начинающего программиста. Скрипты, веб - статьи, Уроки по PHP,HTML,CSS,TurboPascal,Fox Pro. http://www.splish.ru/
|