mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 22:10:55 +01:00
When triggering audits, count "Accepted" revisions as successfully reviewed
Summary: See PHI1118. That issue may describe more than one bug, but the recent ordering changes to the import pipeline likely make this at least part of the problem. Previously, commits would always close associated revisions before we made it to the "publish" step. This is no longer true, so we might be triggering audits on a commit before the associated revision actually closes. Accommodate this by counting a revision in either "Accepted" or "Published (Was Previously Accepted)" as "reviewed". Test Plan: - With commit C affecting paths in package P with "Audit Unreviewed Commits and Commits With No Owner Involvement", associated with revision R, with both R and C authored by the same user, and "R" in the state "Accepted", used `bin/repository reparse --publish <hash>` to republish the commit. - Before change: audit by package P triggered. - After change: audit by package P no longer triggered. Reviewers: amckinley Reviewed By: amckinley Differential Revision: https://secure.phabricator.com/D20564
This commit is contained in:
parent
81134d7e7d
commit
67f062b004
1 changed files with 13 additions and 4 deletions
|
@ -223,13 +223,22 @@ final class PhabricatorRepositoryCommitPublishWorker
|
|||
|
||||
// If auditing is configured to trigger on unreviewed changes, check if
|
||||
// the revision was "Accepted" when it landed. If not, trigger an audit.
|
||||
|
||||
// We may be running before the revision actually closes, so we'll count
|
||||
// either an "Accepted" or a "Closed, Previously Accepted" revision as
|
||||
// good enough.
|
||||
|
||||
if ($audit_unreviewed) {
|
||||
$commit_unreviewed = true;
|
||||
if ($revision) {
|
||||
$was_accepted = DifferentialRevision::PROPERTY_CLOSED_FROM_ACCEPTED;
|
||||
if ($revision->isPublished()) {
|
||||
if ($revision->getProperty($was_accepted)) {
|
||||
$commit_unreviewed = false;
|
||||
if ($revision->isAccepted()) {
|
||||
$commit_unreviewed = false;
|
||||
} else {
|
||||
$was_accepted = DifferentialRevision::PROPERTY_CLOSED_FROM_ACCEPTED;
|
||||
if ($revision->isPublished()) {
|
||||
if ($revision->getProperty($was_accepted)) {
|
||||
$commit_unreviewed = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue