Page MenuHomePhabricator

D20130.diff
No OneTemporary

D20130.diff

diff --git a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php
--- a/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php
+++ b/src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php
@@ -200,6 +200,12 @@
));
$owner_phids = array_fuse($owner_phids);
+ // For the purposes of deciding whether the owners were involved in the
+ // revision or not, consider a review by the package itself to count as
+ // involvement. This can happen when human reviewers force-accept on
+ // behalf of packages they don't own but have authority over.
+ $owner_phids[$package->getPHID()] = $package->getPHID();
+
// If the commit author is identifiable and a package owner, they're
// involved.
if ($author_phid) {
@@ -225,13 +231,14 @@
foreach ($revision->getReviewers() as $reviewer) {
$reviewer_phid = $reviewer->getReviewerPHID();
- // If this reviewer isn't a package owner, just ignore them.
+ // If this reviewer isn't a package owner or the package itself,
+ // just ignore them.
if (empty($owner_phids[$reviewer_phid])) {
continue;
}
- // If this reviewer accepted the revision and owns the package, we've
- // found an involved owner.
+ // If this reviewer accepted the revision and owns the package (or is
+ // the package), we've found an involved owner.
if (isset($accepted_statuses[$reviewer->getReviewerStatus()])) {
$found_accept = true;
break;
diff --git a/src/docs/user/userguide/owners.diviner b/src/docs/user/userguide/owners.diviner
--- a/src/docs/user/userguide/owners.diviner
+++ b/src/docs/user/userguide/owners.diviner
@@ -129,7 +129,8 @@
- affect code owned by the package;
- were not authored by a package owner; and
- - were not accepted (in Differential) by a package owner.
+ - were not accepted (in Differential) by a package owner or the package
+ itself.
Audits do not trigger if the package has been archived.

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 5, 8:23 AM (2 d, 23 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7705002
Default Alt Text
D20130.diff (2 KB)

Event Timeline