Committer's Guide
Prev |  | Next

# 7 GNATS

The FreeBSD Project utilizes GNATS for tracking bugs and change requests. Be sure that if you commit a fix or suggestion found in a GNATS PR, you use `edit-pr `pr-number`` on `freefall` to close it. It is also considered nice if you take time to close any PRs associated with your commits, if appropriate. You can also make use of send-pr(1) yourself for proposing any change which you feel should probably be made, pending a more extensive peer-review first.

You can find out more about GNATS at:

- FreeBSD Problem Report Handling Guidelines

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

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

- send-pr(1)

You can run a local copy of GNATS, and then integrate the FreeBSD GNATS tree in to it using CVSup. Then you can run GNATS commands locally. This lets you query the PR database without needing to be connected to the Internet.

## 7.1 Mirroring the GNATS Tree

It is possible to mirror the GNATS database by adding this line to your `supfile`. Note that since GNATS is not under CVS control it has no tag, so if you are adding it to your existing `supfile` it should appear before any tag= entry as these remain active once set.

    gnats release=current prefix=/usr

This will place the FreeBSD GNATS tree in `/usr/gnats`. You can use a refuse file to control which categories to receive. For example, to only receive `docs` PRs, put this line in `/usr/local/etc/cvsup/sup/refuse`[1].

## 7.2 Useful Tools

Other than `edit-pr` there are a collection of tools in `~gnats/tools/` on `freefall` which can make working with PRs much easier.

`open-pr`, `close-pr`, `take-pr`, and `feedback-pr` take PR numbers as arguments and then ask you to select from a preexisting list of change reasons or let you type in your own.

`change-pr` is a multi purpose tool that lets you make multiple changes at the same time with one command.

For example, to assign PR 123456 to yourself type `take-pr `123456``. If you want to set the PR to patched awaiting an MFC at the same time use: `change-pr -t -p -m "awaiting MFC" `123456``

### Notes

[1] | The precise path depends on the `*default base` setting in your `supfile`.

Prev | Home | Next
Developer Relations |  | Who's Who