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:

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.