These are linimon's prototype ideas for some new GNATS HTML reports as of 20080216.

Notes for GNATS reports

The version of query-pr-summary.cgi cited herein lives on freefall under ~gnats/tools. There is some drift from what's under www/. The periodic script that produces the various weekly emails is ~gnats/tools/gnatsreport.sh. Neither is checked-in anywhere (yet).

What we're trying to do is produce HTML versions of the reports for which we cannot currently do so (the last 2), and then start adding more, new, reports. These are experiments to try to figure out if we can get a better workflow model going.

The problem with query-pr-summary.cgi is that it convolutes 3 separate things:

The main thing to keep is the code that writes a summary line — whether in email or HTML format.

Convention: [<text>] is a hack we use to add distinguished tokens to the Synopses. Unfortunately, '[' and ']' are interpreted as "grouping" operators by the web form, so we can't search on them directly. The convention is unfortunate but there's no way to rework it other than redoing the complete database (ideas for that are in progress). This is a hack around GNATS' limitations; we have to live with it for the medium-term.

In the best of all possible worlds, we would add a 'search by tag' field to the search form (probably as an alternative to 'text in single-line fields').

Current problem reports containing patches

intent: show all PRs whose synopses contain [patch]

existing code: query-pr-summary.cgi -q -t patch

nearest mailing list equivalent

proposed equivalent (with some minor text changes, if feasible)

Current problem reports sorted by tag

intent: show all PRs whose synopses contain [interesting-tag]

existing code:

TAGS=/home/gnats/tools/getalltags.short

for tag in $tags; do
  echo "Problem reports for tag '$tag':"
  query-pr-summary.cgi -Q -T $tag
done
nearest mailing list equivalent

proposed equivalent (with some major changes, if feasible)

PRs recommended for committer evaluation by the bugbusting team

intent: show all PRs listed in recommended.prs. (See ~linimon/bin/email_recommended_prs.sh.)

existing code:

if [ -e $RECOMMENDED_PRS ]; then
  for pr in `grep -v \^# $RECOMMENDED_PRS | sort -g | uniq`; do
    query-pr -q -x $pr 2> /dev/null
  done
else
  echo "none found."
fi
nearest mailing list equivalent

proposed equivalent (with various reworks, if feasible)

New Problem Reports in the last 7 days

intent: show all PRs that have recently arrived

existing code: none, but see ~linimon/bin/shownew:

last_7_days=`date -v -2m`
query-pr --arrived-after "${last_7_days}" --state feedback -q -x
nearest mailing list equivalent: none yet.

proposed new page

For extra credit, separating out each category into its own block would be really cool. (Most src committers could care less about ports, e.g.)