Add Basic Auditing Functionalities
Summary:
add basic auditing functionalities. For the related commits for a
package, we detect the following conditions which might be suspicious to the
owners of the package:
- no revision specified
- revision not found
- author not match
- reviewedby not match
- owners not involved
- commit author not recognized
The owners of the package can change the status of the audit entries by
accepting it or specify concern.
The owner can turn on/off the auditing for a package.
Test Plan:
- verified that non-owner cannot see the details of the audit and cannot modify
it
- verified that all the audit reasons can be detected
- tested dropdown filtering and package search
- verified really normal change not detected
- verified accept/concern a commit
- tested enable/disable a package for auditing
- verified one audit applies to all <commit, packages> to the packages the
auditor owns
- verified that re-parsing a commit won't have effect if there exists a relationship for <commit, package> already
Reviewers: epriestley, nh
Reviewed By: epriestley
CC: aran, benmathews, btrahan, mpodobnik, prithvi, TomL, epriestley
Differential Revision: 1242