mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-30 01:10:58 +01:00
Stop using loadRelationships in differential related herald adapters
Summary: Used `DifferentialRevisionQuery` with the relevant `need*()` calls in the test controller. And started assuming the revision has reviewers and CC phids in `HeraldDifferentialRevisionAdapter`. Test Plan: Added herald rules that use revisions (one for revisions another for commit) and reviewers. Created, accepted and landed a revision that matched the rules and checked all rules were applied. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Maniphest Tasks: T1279 Differential Revision: https://secure.phabricator.com/D6468 Conflicts: src/applications/herald/adapter/HeraldCommitAdapter.php src/applications/herald/adapter/HeraldDifferentialRevisionAdapter.php src/applications/herald/controller/HeraldTestConsoleController.php
This commit is contained in:
parent
c35b93d9b6
commit
562da7e98b
2 changed files with 21 additions and 5 deletions
|
@ -221,10 +221,20 @@ final class HeraldCommitAdapter extends HeraldAdapter {
|
|||
$data = $this->commitData;
|
||||
$revision_id = $data->getCommitDetail('differential.revisionID');
|
||||
if ($revision_id) {
|
||||
// TODO: (T603) Herald policy stuff.
|
||||
$revision = id(new DifferentialRevision())->load($revision_id);
|
||||
// NOTE: The Herald rule owner might not actually have access to
|
||||
// the revision, and can control which revision a commit is
|
||||
// associated with by putting text in the commit message. However,
|
||||
// the rules they can write against revisions don't actually expose
|
||||
// anything interesting, so it seems reasonable to load unconditionally
|
||||
// here.
|
||||
|
||||
$revision = id(new DifferentialRevisionQuery())
|
||||
->withIDs(array($revision_id))
|
||||
->setViewer(PhabricatorUser::getOmnipotentUser())
|
||||
->needRelationships(true)
|
||||
->needReviewerStatus(true)
|
||||
->executeOne();
|
||||
if ($revision) {
|
||||
$revision->loadRelationships();
|
||||
$this->affectedRevision = $revision;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,10 +62,16 @@ final class HeraldDifferentialRevisionAdapter extends HeraldAdapter {
|
|||
public static function newLegacyAdapter(
|
||||
DifferentialRevision $revision,
|
||||
DifferentialDiff $diff) {
|
||||
|
||||
$object = new HeraldDifferentialRevisionAdapter();
|
||||
|
||||
$revision->loadRelationships();
|
||||
// Reload the revision to pick up relationship information.
|
||||
$revision = id(new DifferentialRevisionQuery())
|
||||
->withIDs(array($revision->getID()))
|
||||
->setViewer(PhabricatorUser::getOmnipotentUser())
|
||||
->needRelationships(true)
|
||||
->needReviewerStatus(true)
|
||||
->executeOne();
|
||||
|
||||
$object->revision = $revision;
|
||||
$object->diff = $diff;
|
||||
|
||||
|
|
Loading…
Reference in a new issue