Справочник коммиттера
Пред. |  | След.

# 7. GNATS

Для отслеживания ошибок и запросов на изменения проект FreeBSD использует GNATS. Если вы исправили ошибку или внесли изменения, описанные в одном из сообщений об ошибках (PR), не забудьте закрыть это сообщение, используя команду `edit-pr `pr-number`` на машине `freefall`. Хорошо будет, если вы потратите немного времени на поиск и закрытие других PR по этой теме. Вы и сами можете пользоваться send-pr(1) для предложения изменений, которые, по вашему мнению, могут потребовать более подробного обсуждения с коллегами.

Более подробно о GNATS можно прочитать по адресам:

- http://www.cs.utah.edu/csinfo/texinfo/gnats/gnats.html

- http://www.FreeBSD.org/support.html

- send-pr(1)

Вы можете пользоваться локальной копией GNATS, поддерживая ее синхронность при помощи CVSup. При этом вы можете использовать команды GNATS локально, а также пользоваться другими интерфейсами, такими как `tkgnats`, что позволит вам работать с базой сообщений об ошибках без соединения с Интернет.

Использование локальной копии GNATS

1. Если вы еще не поддерживаете зеркало дерева GNATS, добавьте в ваш `supfile` строку

       gnats release=current prefix=/usr

   Учтите, что эта строка должна предшествовать любым строкам, содержащим параметр ''tag='', поскольку дерево GNATS не находится под управлением CVS и не имеет символьных меток.

   После запуска cvsup в каталоге `/usr/gnats` будет создана копия дерева GNATS FreeBSD. Вы можете использовать файл refuse для копирования отдельных категорий. Например, если вас интересуют только сообщения категории `docs`, добавьте в файл `/usr/local/etc/cvsup/sup/refuse`[1] строку

       gnats/[a-ce-z]*

   Прочие примеры в этом разделе подразумевают, что вы синхронизируете только категорию `docs`.

2. Установите порт GNATS из `ports/databases/gnats`. После установки вы обнаружите различные служебные каталоги в дереве `$PREFIX/share/gnats`.

3. Создайте символьные ссылки на синхронизированные каталоги GNATS в служебный каталог GNATS:

       # cd /usr/local/share/gnats/gnats-db
       # ln -s /usr/gnats/docs

   Проделайте эту операцию для всех синхронизируемых категорий.

4. Обновите служебный файл GNATS `categories`, расположенный в каталоге `$PREFIX/share/gnats/gnats-db/gnats-adm`:

       # This category is mandatory
       pending:Category for faulty PRs:gnats-admin:
       #
       # FreeBSD categories
       #
       docs:Documentation Bug:freebsd-doc:

5. Запустите `$PREFIX/libexec/gnats/gen-index` для создания индекса. Вывод этой команды должен быть перенаправлен в файл `$PREFIX/share/gnats/gnats-db/gnats-adm/index`. Эту операцию можно выполнять периодически при помощи cron(8) или запускать cvsup(1) из скрипта, который затем сгенерирует новый индекс:

       # /usr/local/libexec/gnats/gen-index \
       	> /usr/local/share/gnats/gnats-db/gnats-adm/index

6. Протестируйте созданную конфигурацию запросом к базе данных GNATS. Следующая команда выведет список открытых сообщений об ошибках в категории `docs`:

       # query-pr -c docs -s open

   Другие интерфейсы, например, порт `databases/tkgnats` также должны работать.

7. Выберите PR и закройте его.

> Замечание: Описанная процедура позволяет вам выбирать и просматривать сообщения об ошибках локально. Для редактирования или закрытия вам потребуется зайти на машину `freefall`.

### Примечания

[1] | Точный путь к файлу зависит от установок `*default base` в вашем файле `supfile`.

Пред. | Начало | След.
Взаимодействие между разработчиками | ═ | Кто есть кто

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.