Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15469024
D20130.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
D20130.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D20130: When an Owners package accepts a revision, count that as an "involved owner" for the purposes of audit
Attached
Detach File
Event Timeline
Log In to Comment