diff --git a/src/applications/diffusion/engineextension/DiffusionRepositoryURIsIndexEngineExtension.php b/src/applications/diffusion/engineextension/DiffusionRepositoryURIsIndexEngineExtension.php index 2c1e49b3da..7fb12b6b6a 100644 --- a/src/applications/diffusion/engineextension/DiffusionRepositoryURIsIndexEngineExtension.php +++ b/src/applications/diffusion/engineextension/DiffusionRepositoryURIsIndexEngineExtension.php @@ -1,22 +1,34 @@ <?php final class DiffusionRepositoryURIsIndexEngineExtension extends PhabricatorIndexEngineExtension { const EXTENSIONKEY = 'diffusion.repositories.uri'; public function getExtensionName() { return pht('Repository URIs'); } public function shouldIndexObject($object) { return ($object instanceof PhabricatorRepository); } public function indexObject( PhabricatorIndexEngine $engine, $object) { + + // Reload the repository to pick up URIs, which we need in order to update + // the URI index. + $object = id(new PhabricatorRepositoryQuery()) + ->setViewer(PhabricatorUser::getOmnipotentUser()) + ->withPHIDs(array($object->getPHID())) + ->needURIs(true) + ->executeOne(); + if (!$object) { + return; + } + $object->updateURIIndex(); } }