Path: blob/master/src/applications/audit/management/PhabricatorAuditUpdateOwnersManagementWorkflow.php
12256 views
<?php12final class PhabricatorAuditUpdateOwnersManagementWorkflow3extends PhabricatorAuditManagementWorkflow {45protected function didConstruct() {6$this7->setName('update-owners')8->setExamples('**update-owners** ...')9->setSynopsis(pht('Update package relationships for commits.'))10->setArguments(11array_merge(12$this->getCommitConstraintArguments(),13array()));14}1516public function execute(PhutilArgumentParser $args) {17$viewer = $this->getViewer();18$objects = $this->loadCommitsWithConstraints($args);1920foreach ($objects as $object) {21$commits = $this->loadCommitsForConstraintObject($object);2223foreach ($commits as $commit) {24$repository = $commit->getRepository();2526$affected_paths = PhabricatorOwnerPathQuery::loadAffectedPaths(27$repository,28$commit,29$viewer);3031$affected_packages = PhabricatorOwnersPackage::loadAffectedPackages(32$repository,33$affected_paths);3435$monograms = mpull($affected_packages, 'getMonogram');36if ($monograms) {37$monograms = implode(', ', $monograms);38} else {39$monograms = pht('none');40}4142echo tsprintf(43"%s\n",44pht(45'Updating "%s" (%s)...',46$commit->getDisplayName(),47$monograms));4849$commit->writeOwnersEdges(mpull($affected_packages, 'getPHID'));50}51}52}5354}555657