1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-06 11:58:30 +01:00

Migrate "PhabricatorOwnersPackageCommitRelationship" to "PhabricatorRepositoryAuditRequest"

Summary:
  - Move table to Repository, since we have no Owners joins in the application anymore but would like to do a Repository join.
  - Rename "packagePHID" to "auditorPHID", since this column may contain package, project, or user PHIDs.

Test Plan:
  - Browsed Owners, Audit, and Differential interfaces to the Audit tool.
  - Made comments and state changes.
  - Ran "reparse.php --herald --owners" on several commits.

Reviewers: btrahan, jungejason

Reviewed By: btrahan

CC: aran, epriestley, nh, vrana

Maniphest Tasks: T904

Differential Revision: https://secure.phabricator.com/D1787
This commit is contained in:
epriestley 2012-03-05 13:17:29 -08:00
parent 3a251f9b16
commit d94129b739
19 changed files with 113 additions and 94 deletions

View file

@ -0,0 +1,16 @@
CREATE TABLE phabricator_repository.repository_auditrequest (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
auditorPHID varchar(64) BINARY NOT NULL,
commitPHID varchar(64) BINARY NOT NULL,
auditStatus varchar(64) NOT NULL,
auditReasons LONGBLOB NOT NULL,
KEY (commitPHID),
KEY (auditorPHID, auditStatus)
) ENGINE=InnoDB;
INSERT INTO phabricator_repository.repository_auditrequest
(auditorPHID, commitPHID, auditStatus, auditReasons)
SELECT packagePHID, commitPHID, auditStatus, auditReasons
FROM phabricator_owners.owners_packagecommitrelationship;
DROP TABLE phabricator_owners.owners_packagecommitrelationship;

View file

@ -666,7 +666,6 @@ phutil_register_library_map(array(
'PhabricatorOwnersListController' => 'applications/owners/controller/list', 'PhabricatorOwnersListController' => 'applications/owners/controller/list',
'PhabricatorOwnersOwner' => 'applications/owners/storage/owner', 'PhabricatorOwnersOwner' => 'applications/owners/storage/owner',
'PhabricatorOwnersPackage' => 'applications/owners/storage/package', 'PhabricatorOwnersPackage' => 'applications/owners/storage/package',
'PhabricatorOwnersPackageCommitRelationship' => 'applications/owners/storage/packagecommitrelationship',
'PhabricatorOwnersPath' => 'applications/owners/storage/path', 'PhabricatorOwnersPath' => 'applications/owners/storage/path',
'PhabricatorPHID' => 'applications/phid/storage/phid', 'PhabricatorPHID' => 'applications/phid/storage/phid',
'PhabricatorPHIDConstants' => 'applications/phid/constants', 'PhabricatorPHIDConstants' => 'applications/phid/constants',
@ -722,6 +721,7 @@ phutil_register_library_map(array(
'PhabricatorRepository' => 'applications/repository/storage/repository', 'PhabricatorRepository' => 'applications/repository/storage/repository',
'PhabricatorRepositoryArcanistProject' => 'applications/repository/storage/arcanistproject', 'PhabricatorRepositoryArcanistProject' => 'applications/repository/storage/arcanistproject',
'PhabricatorRepositoryArcanistProjectEditController' => 'applications/repository/controller/arcansistprojectedit', 'PhabricatorRepositoryArcanistProjectEditController' => 'applications/repository/controller/arcansistprojectedit',
'PhabricatorRepositoryAuditRequest' => 'applications/repository/storage/auditrequest',
'PhabricatorRepositoryCommit' => 'applications/repository/storage/commit', 'PhabricatorRepositoryCommit' => 'applications/repository/storage/commit',
'PhabricatorRepositoryCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/base', 'PhabricatorRepositoryCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/base',
'PhabricatorRepositoryCommitData' => 'applications/repository/storage/commitdata', 'PhabricatorRepositoryCommitData' => 'applications/repository/storage/commitdata',
@ -1424,7 +1424,6 @@ phutil_register_library_map(array(
'PhabricatorOwnersListController' => 'PhabricatorOwnersController', 'PhabricatorOwnersListController' => 'PhabricatorOwnersController',
'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO', 'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO',
'PhabricatorOwnersPackage' => 'PhabricatorOwnersDAO', 'PhabricatorOwnersPackage' => 'PhabricatorOwnersDAO',
'PhabricatorOwnersPackageCommitRelationship' => 'PhabricatorOwnersDAO',
'PhabricatorOwnersPath' => 'PhabricatorOwnersDAO', 'PhabricatorOwnersPath' => 'PhabricatorOwnersDAO',
'PhabricatorPHID' => 'PhabricatorPHIDDAO', 'PhabricatorPHID' => 'PhabricatorPHIDDAO',
'PhabricatorPHIDController' => 'PhabricatorController', 'PhabricatorPHIDController' => 'PhabricatorController',
@ -1473,6 +1472,7 @@ phutil_register_library_map(array(
'PhabricatorRepository' => 'PhabricatorRepositoryDAO', 'PhabricatorRepository' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryArcanistProject' => 'PhabricatorRepositoryDAO', 'PhabricatorRepositoryArcanistProject' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryArcanistProjectEditController' => 'PhabricatorRepositoryController', 'PhabricatorRepositoryArcanistProjectEditController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryAuditRequest' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryCommit' => 'PhabricatorRepositoryDAO', 'PhabricatorRepositoryCommit' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryCommitChangeParserWorker' => 'PhabricatorRepositoryCommitParserWorker', 'PhabricatorRepositoryCommitChangeParserWorker' => 'PhabricatorRepositoryCommitParserWorker',
'PhabricatorRepositoryCommitData' => 'PhabricatorRepositoryDAO', 'PhabricatorRepositoryCommitData' => 'PhabricatorRepositoryDAO',

View file

@ -54,7 +54,7 @@ final class PhabricatorAuditCommentEditor {
$audit_phids = self::loadAuditPHIDsForUser($this->user); $audit_phids = self::loadAuditPHIDsForUser($this->user);
$audit_phids = array_fill_keys($audit_phids, true); $audit_phids = array_fill_keys($audit_phids, true);
$relationships = id(new PhabricatorOwnersPackageCommitRelationship()) $requests = id(new PhabricatorRepositoryAuditRequest())
->loadAllWhere( ->loadAllWhere(
'commitPHID = %s', 'commitPHID = %s',
$commit->getPHID()); $commit->getPHID());
@ -65,34 +65,34 @@ final class PhabricatorAuditCommentEditor {
// Status may be empty for updates which don't affect status, like // Status may be empty for updates which don't affect status, like
// "comment". // "comment".
$have_any_relationship = false; $have_any_requests = false;
foreach ($relationships as $relationship) { foreach ($requests as $request) {
if (empty($audit_phids[$relationship->getPackagePHID()])) { if (empty($audit_phids[$request->getAuditorPHID()])) {
continue; continue;
} }
$have_any_relationship = true; $have_any_requests = true;
if ($status) { if ($status) {
$relationship->setAuditStatus($status); $request->setAuditStatus($status);
$relationship->save(); $request->save();
} }
} }
if (!$have_any_relationship) { if (!$have_any_requests) {
// If the user has no current authority over any audit trigger, make a // If the user has no current authority over any audit trigger, make a
// new one to represent their audit state. // new one to represent their audit state.
$relationship = id(new PhabricatorOwnersPackageCommitRelationship()) $request = id(new PhabricatorRepositoryAuditRequest())
->setCommitPHID($commit->getPHID()) ->setCommitPHID($commit->getPHID())
->setPackagePHID($user->getPHID()) ->setAuditorPHID($user->getPHID())
->setAuditStatus( ->setAuditStatus(
$status $status
? $status ? $status
: PhabricatorAuditStatusConstants::AUDIT_NOT_REQUIRED) : PhabricatorAuditStatusConstants::AUDIT_NOT_REQUIRED)
->setAuditReasons(array("Voluntary Participant")) ->setAuditReasons(array("Voluntary Participant"))
->save(); ->save();
$relationships[] = $relationship; $requests[] = $request;
} }
$commit->updateAuditStatus($relationships); $commit->updateAuditStatus($requests);
$commit->save(); $commit->save();
$this->publishFeedStory($comment, array_keys($audit_phids)); $this->publishFeedStory($comment, array_keys($audit_phids));

View file

@ -7,16 +7,16 @@
phutil_require_module('phabricator', 'applications/audit/constants/action'); phutil_require_module('phabricator', 'applications/audit/constants/action');
phutil_require_module('phabricator', 'applications/feed/constants/story');
phutil_require_module('phabricator', 'applications/feed/publisher');
phutil_require_module('phabricator', 'applications/audit/constants/status'); phutil_require_module('phabricator', 'applications/audit/constants/status');
phutil_require_module('phabricator', 'applications/audit/storage/auditcomment'); phutil_require_module('phabricator', 'applications/audit/storage/auditcomment');
phutil_require_module('phabricator', 'applications/feed/constants/story');
phutil_require_module('phabricator', 'applications/feed/publisher');
phutil_require_module('phabricator', 'applications/metamta/storage/mail'); phutil_require_module('phabricator', 'applications/metamta/storage/mail');
phutil_require_module('phabricator', 'applications/owners/storage/owner'); phutil_require_module('phabricator', 'applications/owners/storage/owner');
phutil_require_module('phabricator', 'applications/owners/storage/package'); phutil_require_module('phabricator', 'applications/owners/storage/package');
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship');
phutil_require_module('phabricator', 'applications/phid/handle/data'); phutil_require_module('phabricator', 'applications/phid/handle/data');
phutil_require_module('phabricator', 'applications/project/query/project'); phutil_require_module('phabricator', 'applications/project/query/project');
phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
phutil_require_module('phabricator', 'applications/search/index/indexer/repository'); phutil_require_module('phabricator', 'applications/search/index/indexer/repository');
phutil_require_module('phabricator', 'infrastructure/env'); phutil_require_module('phabricator', 'infrastructure/env');

View file

@ -54,7 +54,7 @@ final class PhabricatorAuditQuery {
} }
public function execute() { public function execute() {
$table = new PhabricatorOwnersPackageCommitRelationship(); $table = new PhabricatorRepositoryAuditRequest();
$conn_r = $table->establishConnection('r'); $conn_r = $table->establishConnection('r');
$where = $this->buildWhereClause($conn_r); $where = $this->buildWhereClause($conn_r);
@ -85,7 +85,7 @@ final class PhabricatorAuditQuery {
if ($this->auditorPHIDs) { if ($this->auditorPHIDs) {
$where[] = qsprintf( $where[] = qsprintf(
$conn_r, $conn_r,
'packagePHID IN (%Ls)', 'auditorPHID IN (%Ls)',
$this->auditorPHIDs); $this->auditorPHIDs);
} }

View file

@ -7,7 +7,7 @@
phutil_require_module('phabricator', 'applications/audit/constants/status'); phutil_require_module('phabricator', 'applications/audit/constants/status');
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship'); phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
phutil_require_module('phabricator', 'storage/qsprintf'); phutil_require_module('phabricator', 'storage/qsprintf');
phutil_require_module('phabricator', 'storage/queryfx'); phutil_require_module('phabricator', 'storage/queryfx');

View file

@ -69,11 +69,13 @@ final class PhabricatorAuditCommitQuery {
// on the same database as the commits. Once they're migrated we can // on the same database as the commits. Once they're migrated we can
// resolve this via JOIN. // resolve this via JOIN.
$table = new PhabricatorOwnersPackageCommitRelationship(); // TODO: Clean this up now that we've moved the table.
$table = new PhabricatorRepositoryAuditRequest();
$conn_r = $table->establishConnection('r'); $conn_r = $table->establishConnection('r');
$phids = queryfx_all( $phids = queryfx_all(
$conn_r, $conn_r,
'SELECT DISTINCT commitPHID FROM %T WHERE packagePHID IN (%Ls) 'SELECT DISTINCT commitPHID FROM %T WHERE auditorPHID IN (%Ls)
ORDER BY id DESC %Q', ORDER BY id DESC %Q',
$table->getTableName(), $table->getTableName(),
$this->packagePHIDs, $this->packagePHIDs,

View file

@ -7,7 +7,7 @@
phutil_require_module('phabricator', 'applications/audit/constants/commitstatus'); phutil_require_module('phabricator', 'applications/audit/constants/commitstatus');
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship'); phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
phutil_require_module('phabricator', 'applications/repository/storage/commit'); phutil_require_module('phabricator', 'applications/repository/storage/commit');
phutil_require_module('phabricator', 'applications/repository/storage/commitdata'); phutil_require_module('phabricator', 'applications/repository/storage/commitdata');
phutil_require_module('phabricator', 'storage/qsprintf'); phutil_require_module('phabricator', 'storage/qsprintf');

View file

@ -51,7 +51,7 @@ final class PhabricatorAuditListView extends AphrontView {
$phids = array(); $phids = array();
foreach ($this->audits as $audit) { foreach ($this->audits as $audit) {
$phids[$audit->getCommitPHID()] = true; $phids[$audit->getCommitPHID()] = true;
$phids[$audit->getPackagePHID()] = true; $phids[$audit->getAuditorPHID()] = true;
} }
return array_keys($phids); return array_keys($phids);
} }
@ -90,7 +90,7 @@ final class PhabricatorAuditListView extends AphrontView {
$status_code = $audit->getAuditStatus(); $status_code = $audit->getAuditStatus();
$status = PhabricatorAuditStatusConstants::getStatusName($status_code); $status = PhabricatorAuditStatusConstants::getStatusName($status_code);
$auditor_handle = $this->getHandle($audit->getPackagePHID()); $auditor_handle = $this->getHandle($audit->getAuditorPHID());
$rows[] = array( $rows[] = array(
$commit_name, $commit_name,
$auditor_handle->renderLink(), $auditor_handle->renderLink(),
@ -98,7 +98,7 @@ final class PhabricatorAuditListView extends AphrontView {
$reasons, $reasons,
); );
if (empty($authority[$audit->getPackagePHID()])) { if (empty($authority[$audit->getAuditorPHID()])) {
$rowc[] = null; $rowc[] = null;
} else { } else {
$rowc[] = 'highlighted'; $rowc[] = 'highlighted';

View file

@ -87,17 +87,17 @@ class HeraldCommitAdapter extends HeraldObjectAdapter {
public function loadAuditNeededPackage() { public function loadAuditNeededPackage() {
if ($this->auditNeededPackages === null) { if ($this->auditNeededPackages === null) {
$status_arr = array ( $status_arr = array(
PhabricatorAuditStatusConstants::AUDIT_REQUIRED, PhabricatorAuditStatusConstants::AUDIT_REQUIRED,
PhabricatorAuditStatusConstants::CONCERNED, PhabricatorAuditStatusConstants::CONCERNED,
); );
$relationships = id(new PhabricatorOwnersPackageCommitRelationship()) $requests = id(new PhabricatorRepositoryAuditRequest())
->loadAllWhere( ->loadAllWhere(
"commitPHID = %s AND auditStatus IN (%Ls)", "commitPHID = %s AND auditStatus IN (%Ls)",
$this->commit->getPHID(), $this->commit->getPHID(),
$status_arr); $status_arr);
$packages = mpull($relationships, 'getPackagePHID'); $packages = mpull($requests, 'getAuditorPHID');
$this->auditNeededPackages = $packages; $this->auditNeededPackages = $packages;
} }
return $this->auditNeededPackages; return $this->auditNeededPackages;

View file

@ -16,7 +16,7 @@ phutil_require_module('phabricator', 'applications/herald/storage/transcript/app
phutil_require_module('phabricator', 'applications/owners/query/path'); phutil_require_module('phabricator', 'applications/owners/query/path');
phutil_require_module('phabricator', 'applications/owners/storage/owner'); phutil_require_module('phabricator', 'applications/owners/storage/owner');
phutil_require_module('phabricator', 'applications/owners/storage/package'); phutil_require_module('phabricator', 'applications/owners/storage/package');
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship'); phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
phutil_require_module('phutil', 'utils'); phutil_require_module('phutil', 'utils');

View file

@ -1,12 +0,0 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/owners/storage/base');
phutil_require_source('PhabricatorOwnersPackageCommitRelationship.php');

View file

@ -1,7 +1,7 @@
<?php <?php
/* /*
* Copyright 2011 Facebook, Inc. * Copyright 2012 Facebook, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -16,9 +16,9 @@
* limitations under the License. * limitations under the License.
*/ */
class PhabricatorOwnersPackageCommitRelationship extends PhabricatorOwnersDAO { final class PhabricatorRepositoryAuditRequest extends PhabricatorRepositoryDAO {
protected $packagePHID; protected $auditorPHID;
protected $commitPHID; protected $commitPHID;
protected $auditReasons = array(); protected $auditReasons = array();
protected $auditStatus; protected $auditStatus;

View file

@ -0,0 +1,12 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phabricator', 'applications/repository/storage/base');
phutil_require_source('PhabricatorRepositoryAuditRequest.php');

View file

@ -85,13 +85,13 @@ class PhabricatorRepositoryCommit extends PhabricatorRepositoryDAO {
* Synchronize a commit's overall audit status with the individual audit * Synchronize a commit's overall audit status with the individual audit
* triggers. * triggers.
*/ */
public function updateAuditStatus(array $rships) { public function updateAuditStatus(array $requests) {
$any_concern = false; $any_concern = false;
$any_accept = false; $any_accept = false;
$any_need = false; $any_need = false;
foreach ($rships as $rship) { foreach ($requests as $request) {
switch ($rship->getAuditStatus()) { switch ($request->getAuditStatus()) {
case PhabricatorAuditStatusConstants::AUDIT_REQUIRED: case PhabricatorAuditStatusConstants::AUDIT_REQUIRED:
$any_need = true; $any_need = true;
break; break;

View file

@ -173,16 +173,16 @@ EOBODY;
array $map, array $map,
array $rules) { array $rules) {
$table = new PhabricatorOwnersPackageCommitRelationship(); $table = new PhabricatorRepositoryAuditRequest();
$rships = $table->loadAllWhere( $requests = $table->loadAllWhere(
'commitPHID = %s', 'commitPHID = %s',
$commit->getPHID()); $commit->getPHID());
$rships = mpull($rships, null, 'getPackagePHID'); $requests = mpull($requests, null, 'getAuditorPHID');
$rules = mpull($rules, null, 'getID'); $rules = mpull($rules, null, 'getID');
foreach ($map as $phid => $rule_ids) { foreach ($map as $phid => $rule_ids) {
$rship = idx($rships, $phid); $request = idx($requests, $phid);
if ($rship) { if ($request) {
continue; continue;
} }
$reasons = array(); $reasons = array();
@ -194,15 +194,15 @@ EOBODY;
$reasons[] = 'Herald Rule #'.$id.' "'.$rule_name.'" Triggered Audit'; $reasons[] = 'Herald Rule #'.$id.' "'.$rule_name.'" Triggered Audit';
} }
$rship = new PhabricatorOwnersPackageCommitRelationship(); $request = new PhabricatorRepositoryAuditRequest();
$rship->setCommitPHID($commit->getPHID()); $request->setCommitPHID($commit->getPHID());
$rship->setPackagePHID($phid); $request->setAuditorPHID($phid);
$rship->setAuditStatus(PhabricatorAuditStatusConstants::AUDIT_REQUIRED); $request->setAuditStatus(PhabricatorAuditStatusConstants::AUDIT_REQUIRED);
$rship->setAuditReasons($reasons); $request->setAuditReasons($reasons);
$rship->save(); $request->save();
} }
$commit->updateAuditStatus($rships); $commit->updateAuditStatus($requests);
$commit->save(); $commit->save();
} }
} }

View file

@ -13,8 +13,8 @@ phutil_require_module('phabricator', 'applications/herald/config/contenttype');
phutil_require_module('phabricator', 'applications/herald/engine/engine'); phutil_require_module('phabricator', 'applications/herald/engine/engine');
phutil_require_module('phabricator', 'applications/herald/storage/rule'); phutil_require_module('phabricator', 'applications/herald/storage/rule');
phutil_require_module('phabricator', 'applications/metamta/storage/mail'); phutil_require_module('phabricator', 'applications/metamta/storage/mail');
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship');
phutil_require_module('phabricator', 'applications/phid/handle/data'); phutil_require_module('phabricator', 'applications/phid/handle/data');
phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
phutil_require_module('phabricator', 'applications/repository/storage/commitdata'); phutil_require_module('phabricator', 'applications/repository/storage/commitdata');
phutil_require_module('phabricator', 'applications/repository/worker/base'); phutil_require_module('phabricator', 'applications/repository/worker/base');
phutil_require_module('phabricator', 'infrastructure/env'); phutil_require_module('phabricator', 'infrastructure/env');

View file

@ -30,44 +30,45 @@ class PhabricatorRepositoryCommitOwnersWorker
$affected_paths); $affected_paths);
if ($affected_packages) { if ($affected_packages) {
$rships = id(new PhabricatorOwnersPackageCommitRelationship()) $requests = id(new PhabricatorRepositoryAuditRequest())
->loadAllWhere( ->loadAllWhere(
'commitPHID = %s', 'commitPHID = %s',
$commit->getPHID()); $commit->getPHID());
$rships = mpull($rships, null, 'getPackagePHID'); $requests = mpull($requests, null, 'getAuditorPHID');
foreach ($affected_packages as $package) { foreach ($affected_packages as $package) {
$relationship = idx($rships, $package->getPHID()); $request = idx($requests, $package->getPHID());
if ($request) {
// Don't update relationship if it exists already // Don't update request if it exists already.
if (!$relationship) { continue;
if ($package->getAuditingEnabled()) {
$reasons = $this->checkAuditReasons($commit, $package);
if ($reasons) {
$audit_status =
PhabricatorAuditStatusConstants::AUDIT_REQUIRED;
} else {
$audit_status =
PhabricatorAuditStatusConstants::AUDIT_NOT_REQUIRED;
}
} else {
$reasons = array();
$audit_status = PhabricatorAuditStatusConstants::NONE;
}
$relationship = new PhabricatorOwnersPackageCommitRelationship();
$relationship->setPackagePHID($package->getPHID());
$relationship->setCommitPHID($commit->getPHID());
$relationship->setAuditReasons($reasons);
$relationship->setAuditStatus($audit_status);
$relationship->save();
$rships[] = $relationship;
} }
if ($package->getAuditingEnabled()) {
$reasons = $this->checkAuditReasons($commit, $package);
if ($reasons) {
$audit_status =
PhabricatorAuditStatusConstants::AUDIT_REQUIRED;
} else {
$audit_status =
PhabricatorAuditStatusConstants::AUDIT_NOT_REQUIRED;
}
} else {
$reasons = array();
$audit_status = PhabricatorAuditStatusConstants::NONE;
}
$relationship = new PhabricatorRepositoryAuditRequest();
$relationship->setAuditorPHID($package->getPHID());
$relationship->setCommitPHID($commit->getPHID());
$relationship->setAuditReasons($reasons);
$relationship->setAuditStatus($audit_status);
$relationship->save();
$requests[$package->getPHID()] = $relationship;
} }
$commit->updateAuditStatus($rships); $commit->updateAuditStatus($requests);
$commit->save(); $commit->save();
} }

View file

@ -11,7 +11,7 @@ phutil_require_module('phabricator', 'applications/differential/storage/revision
phutil_require_module('phabricator', 'applications/owners/query/path'); phutil_require_module('phabricator', 'applications/owners/query/path');
phutil_require_module('phabricator', 'applications/owners/storage/owner'); phutil_require_module('phabricator', 'applications/owners/storage/owner');
phutil_require_module('phabricator', 'applications/owners/storage/package'); phutil_require_module('phabricator', 'applications/owners/storage/package');
phutil_require_module('phabricator', 'applications/owners/storage/packagecommitrelationship'); phutil_require_module('phabricator', 'applications/repository/storage/auditrequest');
phutil_require_module('phabricator', 'applications/repository/storage/commitdata'); phutil_require_module('phabricator', 'applications/repository/storage/commitdata');
phutil_require_module('phabricator', 'applications/repository/worker/base'); phutil_require_module('phabricator', 'applications/repository/worker/base');
phutil_require_module('phabricator', 'infrastructure/daemon/workers/storage/task'); phutil_require_module('phabricator', 'infrastructure/daemon/workers/storage/task');