This area is an archive and is no longer actively maintained. Information found on this page is likely to be extremely out of date and therefore highly inaccurate. We recommend the Ximbiot - CVS Wiki for up-to-date information about CVS and its associtated tools.

If you do find anything useful on this page that is not yet in the Ximbiot - CVS Wiki and you have the time, please add it!

Cyclic GNATS page

Cyclic GNATS page

GNATS is a free bug-tracking system. That is, it provides a mechanism to maintain a database of problem reports and the status of resolving each one and produce reports from that database.

GNATS Summary

Here are a few pros and cons of GNATS compared with other bug-tracking systems.

Strengths:

  • Nicely integrated with email.
  • Also has a nice emacs interface.
  • Flexible (many fields are free-form, for example).
  • Larger set of states than many problem tracking systems (open, analyzed, feedback, closed, suspended). As of GNATS 3.106 or later, states are also configurable (that is, one can add states).
  • Client/server protocol enables people scattered throughout the internet to all use a common GNATS database. It also enables setups like running tkgnats on Windows while having the GNATS server run on unix.
Problems:
  • A certain number of bugs and quirks.
  • Web interfaces need work. There are a lot of them out there, but no one seems to know which ones are best and as far as I know most of them could use some work.
  • The emacs and command line interfaces are not good for tracking telephone calls and other "quickie" support requests (in particular, it takes too long to submit a new problem report into the system).

Mailing lists and newsgroups

There is a mailing list for discussions concerning GNATS; to subscribe send mail to bug-gnats-request@gnu.org. Traffic has been something like one message per day.

The newsgroup for GNATS (and other bug tracking and version control systems) is comp.software.config-mgmt.

Paid Support

Your best bet is probably SAIC (Mike Sutton of SAIC has a fair bit of experience doing GNATS work for people). Expect to pay standard consulting rates (contact them for details).

User interfaces

The code for the command line and emacs interfaces is part of the main GNATS distribution mentioned below.

There is also a graphical user interface called TkGnats. Versions 3.0.0 and later run on Windows (talking to a GNATS server running on unix), in addition to unix.

GNATS and the Year 2000

The output from the "query-pr --sql" command uses a two digit year, for GNATS 3.104 and earlier (I think this may be fixed in 3.106).

In GNATS 3.106 and earlier, user-entered dates do not function after the year 2000 (the same getdate.y problem that was fixed in CVS). This is fixed in GNATS 3.107.

Downloading GNATS

I suppose we need to make an explicit disclaimer that the GNATS distributions listed below are not supported by Cyclic. In most cases we are just redistributing or linking to a distribution provided by someone else, and didn't even help write any of it.

Although the recent releases like 3.102 and 3.103 are advertised as beta releases, please use them instead of 3.2. Every few weeks someone downloads 3.2, finds the obvious core dump (yes, we know, and it is fixed in 3.102 and friends), sends the fix to bug-gnats, someone suggests a more recent release, and life gets happier.

If upgrading to GNATS 3.107, you need to run the "gen-index" and "gen-closed-state" programs (the documentation supplied with 3.107 presumably has details).

GNATS only runs on unix platforms, as far as we know.

Download GNATS from sourceware.cygnus.com. Or ftp.juniper.net might have more recent versions.

For more information

Projects using GNATS.

For information on TkGnats, including screen shots, see Rick Macdonald's TkGnats page.

For general information see Dan Kegel's GNATS page, which includes a list of GNATS-related software and patches and other GNATS information.

Cygnus's GNATS page. They are the current hosts of GNATS maintenance; get the up-to-minute sources via cvsweb or anonymous CVS.

Unofficial GNATS Patches

Yggdrasil has a set of patches with significant new features such as supercategories, CVS integration, and a new summarization utility. Here are the details.

Unofficial patches for GNATS 3.104

The following patches are said to be incorporated (perhaps in modified form) in GNATS 3.106.

Bugfix in free_responsible (Last updated: 17 Dec 1997)

This patch fixes a bug in the routine to free a variable of the type "Responsible".

Check if Reply: valid category

When you send a reply to a problem report mailing, with the subject line beginning with: "Re: Foo/15", GNATS will append the letter to Problem report #15. The problem is that GNATS does not check to see if Foo is a valid category. What if someone sent a letter to the bugs address about something to do with OS/2: "Re: OS/2 version problem"? That letter would be appended to Problem report number 2. This patch adds this category check to check-if-reply.

Default Category for new PRs

The official version of GNATS has "pending" hard-coded as the default category for new problem reports. This patch allows the GNATS administrator to put a default category into the config file (i. e. DEFAULT_CATEGORY="category").

query-pr checking "Last Modified" date field

query-pr can look at the arrival date of a problem report. There are qualifiers to the query-pr command which will search for PRs which arrived beforee or after a given date. Why not look at the "Last Modified" date also? This patch adds the qualifiers -B, --modified-before, -M and --modified-after.

Documentation: Submitting a PR via direct e-mail

This new section in the GNATS documentation (in the file s-usage.texi) describes what happens when you create a problem report by sending mail to the support site address.

Deriving the Submitter ID form e-mail headers

Sometimes a Problem Report comes in without a Submitter ID. This patch to file-pr lets GNATS derive the submitter ID from the "From:" mail header. We have added a new file, called "addresses", which maps e-mail address fragments to Submitter IDs.

Putting "Unformatted" text into the "Description" field

When a problem report comes in as unformatted text (i. e. someone sends e-mail to the "bugs" address), the text is put into the "Unformatted" field. Since the submitter intends for this text to be the description of the problem, it would be nice if GNATS put the text into the "Description" field. This patch does this, indenting the text by one space.

Mail replies to appended letters

This patch fixes a couple of formatting errors in the mail GNATS sends in reply to appended letters.

BISON output file in Makefile for getdate.c

When Makefile compiles getdate.y, it runs the BISON parser generator. This patch deals with problems in the naming of the files which bison outputs.

Customizable states

This patch implements customizable states (previously, the list of possible Problem Report states was hardwired into GNATS).

Error handling

This patch from Mike Sutton fixes a few problems in error reporting.

Unofficial patches for GNATS 3.102 or so

The patches for installing pr-addr and pr-edit in the libexec directory address a problem which is already fixed in GNATS 3.104, as far as we know.

Unofficial tkGNATS Patches

Obsolete patches

The patch to Make tkGNATS 3.0.0 work locally has been included in tkGNATS 3.0.1.

Derek Price, CVS developer and technical editor of Essential CVS (Essentials line from O'Reilly Press) , and others offer consulting services and training through Ximbiot.