diff --git a/owners.py b/owners.py index d56c36f38..8007e171c 100644 --- a/owners.py +++ b/owners.py @@ -121,7 +121,13 @@ class Database(object): files is a sequence of paths relative to (and under) self.root.""" self._check_paths(files) self._load_data_needed_for(files) - return self._covering_set_of_owners_for(files) + suggested_owners = self._covering_set_of_owners_for(files) + if EVERYONE in suggested_owners: + if len(suggested_owners) > 1: + suggested_owners.remove(EVERYONE) + else: + suggested_owners = set(['']) + return suggested_owners # TODO(dpranke): rename to objects_not_covered_by def directories_not_covered_by(self, files, reviewers): diff --git a/tests/owners_unittest.py b/tests/owners_unittest.py index 552fa78dc..20491ab4d 100755 --- a/tests/owners_unittest.py +++ b/tests/owners_unittest.py @@ -259,7 +259,8 @@ class ReviewersForTest(_BaseTestCase): self.assertRaises(AssertionError, db.reviewers_for, ['/OWNERS']) def test_reviewers_for__wildcard_dir(self): - self.assert_reviewers_for(['DEPS'], [owners.EVERYONE]) + self.assert_reviewers_for(['DEPS'], ['']) + self.assert_reviewers_for(['DEPS', 'chrome/gpu/gpu_channel.h'], [ken]) def test_reviewers_for__one_owner(self): self.assert_reviewers_for([