tree 89d6767dee11cadda981e3af065f934d9c4dcb78
parent 00b7fd53f1d8a1a90244727399af83ebe0d4519c
parent 0183585b394f04f224b42efdf1b4ebbce7ad0ff5
author Edwin Kempin <ekempin@google.com> 1618229115 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 1618229115 +0000

Merge changes Ie5b99c2a,I0746546c,I40349324,Idf584990,If008a747, ...

* changes:
  config-faqs: Explain how to define default code owners
  Add metric to count submit rule errors
  config.md: Fix bad link
  CodeOwnerSubmitRule: Report metric for invalid OWNERS files
  Improve error message if CodeOwnerSubmitRule fails due invalid OWNERS file
  Move getParsingErrorMessage method up to test base class
  Test that CodeOwnerSubmitRule returns rule error if OWNERS file is invalid
  Fix names of code owner metrics
  Fix counting submit rule runs as metric
  Move method to get code owner config file name up to base test class
  Add metric that counts how often invalid OWNERS files cause failures
  Allow to configure an info URL that is shown if an OWNERS file is invalid
  GeneralConfig: Factor out a method to read a string value
  GeneralConfig: Fix variable name
  Add specific exception to signal invalid code owner config files
  CheckCodeOwner: Handle files owned by all users
  Config doc: Clarify that this is not the config that defines code owners
  Document that keeping the global config in All-Projects may be dangerous
  User guide: Make clear that label functions are orthogonal to code owners
  User guide: Explain when code owner submit records in the index get stale
  User guide: Add section about code owners submit rule
  Disallow projects to override inherited list configuration parameters
