6.5. Database Integrity

Bugzilla could be more proactive in detecting suboptimal situations and
prevent them or whine about them.

1. Bugzilla Crime #1: Marking A Bug Fixed With Unresolved Dependencies

It can't be marked fixed with unresolved dependencies.  Either mark it
INVALID (tracking bugs), fix the dependencies at the same time, or
resolve the blockers.

See "http://bugzilla.mozilla.org/show_bug.cgi?id=24496".

2. Keyword Restrictions

Some keywords should only apply in certain circumstances, eg beta1 =>
Milestone <
M14, css1 => Component = Style System are possibilities.  See
"http://bugzilla.mozilla.org/show_bug.cgi?id=26940".

3. Whine About Old Votes

Old votes can just sit on resolved bugs.  This is problematic with
duplicates especially.  Automatic transferral/removal is not
appropriate since bugs can be reopened, but a whining solution might
work.  See "http://bugzilla.mozilla.org/show_bug.cgi?id=27553".

4. Whine And Warn About Milestone Mismatches

Here's a fun one.  Bug X (M17) depends on Bug Y (M15).  Bug Y gets moved
out to M19.  The notification to the assignee of Bug X gets ignored (of
course) and Bug X is now due to be fixed before one of its blockers.

Warnings about this when it is detected as well as whining about it in
email would help bring these issues to the attention of people sooner.

Note that this would be less of a problem if we didn't have so many
tracking bugs since they aren't updated that often and often have this
problem.

See "http://bugzilla.mozilla.org/show_bug.cgi?id=16743".