1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 09:42:41 +01:00
phorge-phorge/src/applications/diffusion/remarkup/DiffusionCommitRemarkupRule.php

48 lines
1.3 KiB
PHP
Raw Normal View History

2011-04-11 12:02:19 +02:00
<?php
final class DiffusionCommitRemarkupRule extends PhabricatorObjectRemarkupRule {
2011-04-11 12:02:19 +02:00
protected function getObjectNamePrefix() {
return '';
2011-04-11 12:02:19 +02:00
}
protected function getObjectNamePrefixBeginsWithWordCharacter() {
return true;
}
protected function getObjectIDPattern() {
return PhabricatorRepositoryCommitPHIDType::getCommitObjectNamePattern();
}
protected function getObjectNameText(
$object,
PhabricatorObjectHandle $handle,
$id) {
// If this commit is unreachable, return the handle name instead of the
// normal text because it may be able to tell the user that the commit
// was rewritten and where to find the new one.
// By default, we try to preserve what the user actually typed as
// faithfully as possible, but if they're referencing a deleted commit
// it's more valuable to try to pick up any rewrite. See T11522.
if ($object->isUnreachable()) {
return $handle->getName();
}
return parent::getObjectNameText($object, $handle, $id);
}
protected function loadObjects(array $ids) {
$viewer = $this->getEngine()->getConfig('viewer');
$query = id(new DiffusionCommitQuery())
->setViewer($viewer)
->withIdentifiers($ids);
$query->execute();
return $query->getIdentifierMap();
2011-04-11 12:02:19 +02:00
}
}