7. GNATS

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

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

Вы можете пользоваться локальной копией 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>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.

Обновлено: 12.03.2015