Если вы модифицировали пакет и расширили таким образом его
функциональность или исправили ошибку, вам следует предоставить ваши
изменения общественности (некоторые лицензии принуждают вас к этому, кроме
того, это считается хорошим тоном).
Перед созданием патча, вы должны скачать самую последнюю версию пакета с
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 допустимы.
|