| Index: presubmit_canned_checks.py
|
| diff --git a/presubmit_canned_checks.py b/presubmit_canned_checks.py
|
| index 79e030918bef92254281b482f52ec1a7f892236b..0d9d572476bc6937382e047ccdb3426a71fdbdce 100644
|
| --- a/presubmit_canned_checks.py
|
| +++ b/presubmit_canned_checks.py
|
| @@ -624,3 +624,23 @@ def CheckBuildbotPendingBuilds(input_api, output_api, url, max_pendings,
|
| 'builds are pending.' % max_pendings,
|
| long_text='\n'.join(out))]
|
| return []
|
| +
|
| +
|
| +def CheckOwners(input_api, output_api):
|
| + affected_files = set(input_api.change.AffectedFiles())
|
| + owners_db = input_api.owners_db
|
| +
|
| + if input_api.is_commiting:
|
| + missing_files = owners_db.FilesNotCoveredBy(affected_files,
|
| + input_api.change.approvers)
|
| + if missing_files:
|
| + return [output_api.PresubmitPromptWarning('Missing approvals for: %s' %
|
| + ','.join(missing_files))]
|
| + return []
|
| + else:
|
| + if not input_api.change.get('R', None):
|
| + suggested_reviewers = owners_db.OwnersFor(affected_files)
|
| +
|
| + # TODO(dpranke): consider getting multiple covering sets of reviewers
|
| + # and displaying them somehow?
|
| + input_api.change['R'] = ','.join(suggested_reviewers)
|
|
|