Page MenuHomePhabricator

D17300.diff
No OneTemporary

D17300.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -3660,6 +3660,7 @@
'PhabricatorRepositoryDiscoveryEngine' => 'applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php',
'PhabricatorRepositoryEditor' => 'applications/repository/editor/PhabricatorRepositoryEditor.php',
'PhabricatorRepositoryEngine' => 'applications/repository/engine/PhabricatorRepositoryEngine.php',
+ 'PhabricatorRepositoryFulltextEngine' => 'applications/repository/search/PhabricatorRepositoryFulltextEngine.php',
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php',
'PhabricatorRepositoryGitCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/PhabricatorRepositoryGitCommitMessageParserWorker.php',
'PhabricatorRepositoryGitLFSRef' => 'applications/repository/storage/PhabricatorRepositoryGitLFSRef.php',
@@ -8910,6 +8911,7 @@
'PhabricatorProjectInterface',
'PhabricatorSpacesInterface',
'PhabricatorConduitResultInterface',
+ 'PhabricatorFulltextInterface',
),
'PhabricatorRepositoryAuditRequest' => array(
'PhabricatorRepositoryDAO',
@@ -8951,6 +8953,7 @@
'PhabricatorRepositoryDiscoveryEngine' => 'PhabricatorRepositoryEngine',
'PhabricatorRepositoryEditor' => 'PhabricatorApplicationTransactionEditor',
'PhabricatorRepositoryEngine' => 'Phobject',
+ 'PhabricatorRepositoryFulltextEngine' => 'PhabricatorFulltextEngine',
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
'PhabricatorRepositoryGitCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
'PhabricatorRepositoryGitLFSRef' => array(
diff --git a/src/applications/repository/search/PhabricatorRepositoryFulltextEngine.php b/src/applications/repository/search/PhabricatorRepositoryFulltextEngine.php
new file mode 100644
--- /dev/null
+++ b/src/applications/repository/search/PhabricatorRepositoryFulltextEngine.php
@@ -0,0 +1,27 @@
+<?php
+
+final class PhabricatorRepositoryFulltextEngine
+ extends PhabricatorFulltextEngine {
+
+ protected function buildAbstractDocument(
+ PhabricatorSearchAbstractDocument $document,
+ $object) {
+ $repo = $object;
+ $document->setDocumentTitle($repo->getName());
+ $document->addField(
+ PhabricatorSearchDocumentFieldType::FIELD_BODY,
+ $repo->getRepositorySlug()."\n".$repo->getDetail('description'));
+
+ $document->setDocumentCreated($repo->getDateCreated());
+ $document->setDocumentModified($repo->getDateModified());
+
+ $document->addRelationship(
+ $repo->isTracked()
+ ? PhabricatorSearchRelationship::RELATIONSHIP_OPEN
+ : PhabricatorSearchRelationship::RELATIONSHIP_CLOSED,
+ $repo->getPHID(),
+ PhabricatorRepositoryRepositoryPHIDType::TYPECONST,
+ PhabricatorTime::getNow());
+ }
+
+}
diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php
--- a/src/applications/repository/storage/PhabricatorRepository.php
+++ b/src/applications/repository/storage/PhabricatorRepository.php
@@ -14,7 +14,8 @@
PhabricatorDestructibleInterface,
PhabricatorProjectInterface,
PhabricatorSpacesInterface,
- PhabricatorConduitResultInterface {
+ PhabricatorConduitResultInterface,
+ PhabricatorFulltextInterface {
/**
* Shortest hash we'll recognize in raw "a829f32" form.
@@ -2572,4 +2573,11 @@
);
}
+/* -( PhabricatorFulltextInterface )--------------------------------------- */
+
+
+ public function newFulltextEngine() {
+ return new PhabricatorRepositoryFulltextEngine();
+ }
+
}
diff --git a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php
--- a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php
+++ b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php
@@ -158,9 +158,15 @@
$object_class = get_class($object);
$normalized_class = phutil_utf8_strtolower($object_class);
+ if ($normalized_class === $normalized_type) {
+ $matches = array($object_class => $object);
+ break;
+ }
+
if (!strlen($type) ||
strpos($normalized_class, $normalized_type) !== false) {
$matches[$object_class] = $object;
+
}
}

File Metadata

Mime Type
text/plain
Expires
May 12 2024, 2:28 AM (4 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6287178
Default Alt Text
D17300.diff (4 KB)

Event Timeline