Предложение патчей

Если вы модифицировали пакет и расширили таким образом его функциональность или исправили ошибку, вам следует предоставить ваши изменения общественности (некоторые лицензии принуждают вас к этому, кроме того, это считается хорошим тоном).

Перед созданием патча, вы должны скачать самую последнюю версию пакета с CVS. Для этого вам нужно выполнить следующие команды (в примере используется пакет Foo_Bar):

cvs -d:pserver:cvsread@cvs.php.net:/repository login
password is "phpfi"

cvs -z3 -d:pserver:cvsread@cvs.php.net:/repository co Foo_Bar
Теперь у вас есть самая последняя версия исходников и вы можете вносить изменения в соответствующие файлы. Удостоверьтесь, что при написании патча вы учли Стандарты кодирования PEAR.

После того, как вы закончили добавление/изменение кода - протестируйте его. Мы не примем код, который не был протестирован. Когда будете абсолютно уверены, что ваш код не содержит новых ошибок, создайте унифицированный diff-файл командой:

cd pear/Foo_Bar
cvs diff -u >Foo_Bar.diff
Файл .diff, который получится в результате, содержит ваш патч. С этим diff'ом нам будет значительно проще понять что вы изменили.

Следующий шаг - это предложение патча. Напишите письмо по адресу pear-dev@lists.php.net и пошлите копию (Cc) письма разработчикам пакета. Тема письма должна начинаться с '[Patch]' для того, чтобы было ясно, что вы предлагает патч. Пожалуйста, включите в письмо развернутое объяснение изменений, которые вы предлагаете внести с помощью этого патча. И не забудьте приложить .diff к письму. Разработчики пакеты обычно перечислены в заголовке каждого файла исходников пакета. Кроме этого, их адреса электронной почты можно найти на странице пакета на http://pear.php.net/.

Замечание: Если вы используете Outlook или Outlook Express, пожалуйста, измените расширение файла с .diff на .txt. Определение MIME-типа в Outlook'е зависит от расширения файла и сработает неверно. Письма, содержащие аттачменты, у которых MIME-тип отличается от text/plain будут отвергнуты программным обеспечением рассылки.

Замечание: Если ваш патч ломает обратную совместимость, то очень велики шансы, что разработчики не будут очень рады ему. Поэтому, старайтесь исправлять ошибки так, чтобы не вносить серъезных изменений в API. Но если это абсолютно невозможно и/или ваш патч предоставляет действительно необходимые изменения, то изменения API допустимы.

    Поддержать сайт на родительском проекте КГБ