Эта часть касается только пакетов, использующих CVS на cvs.php.net.
Включайте ключевое слово CVS - $Id$ в каждый файл. Добавьте эту метку в каждый файл, если там ее еще нет или исправьте уже существующую запись "Last Modified:" и т.п.).
В оставшейся части этой главы предполагается, что вы имеете представление о тэгах CVS и ветках (branches).
Тэги CVS предназначены для того, чтобы пометить файлы, которые принадлежат к конкретному релизу. Ниже приводится список необходимых и рекомендуемых тэгов:
(обязательный) Используется для пометки релиза. Если вы не используете его, то вы не сможете вернуться назад и затребовать пакет в том виде, в котором он находился во время прошлого релиза.
(необязательный) Если вы чувствуете, что перед выпуском релиза необходимо выпустить предварительную версию (release candidat), то вы можете сделать ветку (branch) кода для того, чтобы изолировать релиз и вносить только критически важные изменения до релиза. При этом, обычный процесс разработки может продолжаться в основном дереве кода.
(необязательный) Если вам нужно сделать "микро-релиз" (например, версию 1.2.1 и т.п. после 1.2), вы так же можете использовать ветку в том случае, если основной код меняется достаточно активно и вы хотите вносить только небольшие изменения в микро-релизы.
Обязательным является только тэг RELEASE, остальные рекомендуются для вашего же удобства.
Пример того, как пометить тэгом релиза 1.2 пакет "Money_Fast":
$ cd pear/Money_Fast
$ cvs tag RELEASE_1_2
T Fast.php
T README
T package.xml
Сделав так, вы получаете возможность использовать веб-сайт PEAR для дальнейшего процесса выпуска релизов.
Пример создания ветки для QA:
$ cvs tag QA_2_0_BP ... $ cvs rtag -b -r QA_2_0_BP QA_2_0 $ cvs update -r QA_2_0 $ cvs tag RELEASE_2_0RC1 ...далее, создаем настоящий релиз из то же ветки: $ cvs tag RELEASE_2_0
Тэг "QA_2_0_BP" - это тэг ветки. Рекомендуется всегда выделять ветки этим тэгом. Служебные ветви (MAINT branches) могут быть отмечены как релиз и без использования этого тэга.