Инструкция по подготовке патча для отсылки в проект Ананас
Патч можно подготовить разными способами. Здесь описан вариант с использованием CVS.
Подразумевается, что вы ведете работу над кодом Ананаса в своем рабочем каталоге. И для создания патча создаете отдельный пустой каталог, в котором выполняете следующие действия:
шаг 1.
Забираем исходный код Ананаса из CVS
cvs -d :pserver:anonymous@www.leaderit.ru:/var/cvs login
В ответ на запрос пароля - нажать Enter
cvs -d :pserver:anonymous@www.leaderit.ru:/var/cvs co ananas
в результате в папке ananas получаем последнюю версию исходного кода Ананаса
шаг 2.
Копируем из нашего рабочего каталога в соответствующие подпапки текущей папки те файлы, изменения в которых мы хотим поместить в патч, переписывая файлы, взятые из CVS.
шаг 3.
Проверяем работоспособность полученного в папке ananas кода.
шаг 4.
Так как с момента извлечения кода из cvs могло пройти достаточно много времени, потраченного на исправления и тестирование, необходимо обновить наши файлы в папке ananas изменениями, которые возможно появились в CVS репозитарии Ананаса.
cvs -d :pserver:anonymous@www.leaderit.ru:/var/cvs up ananas
Вернуться к шагу 3, если из CVS пришло хотя бы одно обновление.
шаг 5.
Создаем патч, находясь в папке, в которой мы выполняли команды на шаге 1.
cvs -d :pserver:anonymous@www.leaderit.ru:/var/cvs diff -c ananas > myname-ananas-20070404.patch
заменив myname своим именем, и дату соответственно текущей
шаг 6.
Визуальная проверка патча на предмет попадания в него случайных изменений или непопадания новых файлов.
шаг 7.
Запаковываем патч и высылаем в список рассылки http://groups.google.com/group/ananasproject Обязательно отправьте письмо с уведомлением в список. Простой аплоад файла ни кто не заметит
Рекомендация. Правильным подходом к разработке считается такой порядок работы, когда изменения в исходный код вносятся часто и небольшими порциями. В такой ситуации рекомендуется вести разработку прямо в папке с исходниками Ананаса, полученными командой cvs co. Это сократит число шагов по подготовке патча.