mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 05:50:55 +01:00
Remove PhabricatorRepositoryDefaultCommitMessageDetailParser
Summary: See discussion in T1544. This has been obsoleted by simpler/better mechanisms. Test Plan: Edited a repository; ran a parse task. Reviewers: edward Reviewed By: edward CC: aran Maniphest Tasks: T1544 Differential Revision: https://secure.phabricator.com/D3977
This commit is contained in:
parent
c3dbbc5fbe
commit
fd5beffb99
4 changed files with 0 additions and 119 deletions
|
@ -1016,7 +1016,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorRepositoryController' => 'applications/repository/controller/PhabricatorRepositoryController.php',
|
'PhabricatorRepositoryController' => 'applications/repository/controller/PhabricatorRepositoryController.php',
|
||||||
'PhabricatorRepositoryCreateController' => 'applications/repository/controller/PhabricatorRepositoryCreateController.php',
|
'PhabricatorRepositoryCreateController' => 'applications/repository/controller/PhabricatorRepositoryCreateController.php',
|
||||||
'PhabricatorRepositoryDAO' => 'applications/repository/storage/PhabricatorRepositoryDAO.php',
|
'PhabricatorRepositoryDAO' => 'applications/repository/storage/PhabricatorRepositoryDAO.php',
|
||||||
'PhabricatorRepositoryDefaultCommitMessageDetailParser' => 'applications/repository/parser/PhabricatorRepositoryDefaultCommitMessageDetailParser.php',
|
|
||||||
'PhabricatorRepositoryDeleteController' => 'applications/repository/controller/PhabricatorRepositoryDeleteController.php',
|
'PhabricatorRepositoryDeleteController' => 'applications/repository/controller/PhabricatorRepositoryDeleteController.php',
|
||||||
'PhabricatorRepositoryEditController' => 'applications/repository/controller/PhabricatorRepositoryEditController.php',
|
'PhabricatorRepositoryEditController' => 'applications/repository/controller/PhabricatorRepositoryEditController.php',
|
||||||
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php',
|
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php',
|
||||||
|
@ -2232,7 +2231,6 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorRepositoryController' => 'PhabricatorController',
|
'PhabricatorRepositoryController' => 'PhabricatorController',
|
||||||
'PhabricatorRepositoryCreateController' => 'PhabricatorRepositoryController',
|
'PhabricatorRepositoryCreateController' => 'PhabricatorRepositoryController',
|
||||||
'PhabricatorRepositoryDAO' => 'PhabricatorLiskDAO',
|
'PhabricatorRepositoryDAO' => 'PhabricatorLiskDAO',
|
||||||
'PhabricatorRepositoryDefaultCommitMessageDetailParser' => 'PhabricatorRepositoryCommitMessageDetailParser',
|
|
||||||
'PhabricatorRepositoryDeleteController' => 'PhabricatorRepositoryController',
|
'PhabricatorRepositoryDeleteController' => 'PhabricatorRepositoryController',
|
||||||
'PhabricatorRepositoryEditController' => 'PhabricatorRepositoryController',
|
'PhabricatorRepositoryEditController' => 'PhabricatorRepositoryController',
|
||||||
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
|
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
|
||||||
|
|
|
@ -295,12 +295,6 @@ final class PhabricatorRepositoryEditController
|
||||||
$repository->setDetail('svn-subpath', $subpath);
|
$repository->setDetail('svn-subpath', $subpath);
|
||||||
}
|
}
|
||||||
|
|
||||||
$repository->setDetail(
|
|
||||||
'detail-parser',
|
|
||||||
$request->getStr(
|
|
||||||
'detail-parser',
|
|
||||||
'PhabricatorRepositoryDefaultCommitMessageDetailParser'));
|
|
||||||
|
|
||||||
if ($tracking) {
|
if ($tracking) {
|
||||||
if (!$repository->getDetail('remote-uri')) {
|
if (!$repository->getDetail('remote-uri')) {
|
||||||
$e_uri = 'Required';
|
$e_uri = 'Required';
|
||||||
|
@ -650,28 +644,6 @@ final class PhabricatorRepositoryEditController
|
||||||
'a repository. Feed stories are never published about commits '.
|
'a repository. Feed stories are never published about commits '.
|
||||||
'that are more than 24 hours old.'));
|
'that are more than 24 hours old.'));
|
||||||
|
|
||||||
$parsers = id(new PhutilSymbolLoader())
|
|
||||||
->setAncestorClass('PhabricatorRepositoryCommitMessageDetailParser')
|
|
||||||
->selectSymbolsWithoutLoading();
|
|
||||||
$parsers = ipull($parsers, 'name', 'name');
|
|
||||||
|
|
||||||
$inset
|
|
||||||
->appendChild(
|
|
||||||
'<p class="aphront-form-instructions">If you extend the commit '.
|
|
||||||
'message format, you can provide a new parser which will extract '.
|
|
||||||
'extra information from it when commits are imported. This is an '.
|
|
||||||
'advanced feature, and using the default parser will be suitable '.
|
|
||||||
'in most cases.</p>')
|
|
||||||
->appendChild(
|
|
||||||
id(new AphrontFormSelectControl())
|
|
||||||
->setName('detail-parser')
|
|
||||||
->setLabel('Detail Parser')
|
|
||||||
->setOptions($parsers)
|
|
||||||
->setValue(
|
|
||||||
$repository->getDetail(
|
|
||||||
'detail-parser',
|
|
||||||
'PhabricatorRepositoryDefaultCommitMessageDetailParser')));
|
|
||||||
|
|
||||||
if ($is_svn) {
|
if ($is_svn) {
|
||||||
$inset
|
$inset
|
||||||
->appendChild(
|
->appendChild(
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Facebook extends this (I think?), but should it?
|
|
||||||
*/
|
|
||||||
class PhabricatorRepositoryDefaultCommitMessageDetailParser
|
|
||||||
extends PhabricatorRepositoryCommitMessageDetailParser {
|
|
||||||
|
|
||||||
public function parseCommitDetails() {
|
|
||||||
$commit = $this->getCommit();
|
|
||||||
$data = $this->getCommitData();
|
|
||||||
|
|
||||||
$details = nonempty($data->getCommitDetails(), array());
|
|
||||||
$message = $data->getCommitMessage();
|
|
||||||
$author_name = $data->getAuthorName();
|
|
||||||
|
|
||||||
// TODO: Some day, it would be good to drive all of this via
|
|
||||||
// DifferentialFieldSpecification configuration directly.
|
|
||||||
|
|
||||||
$match = null;
|
|
||||||
|
|
||||||
if (preg_match(
|
|
||||||
'/^\s*Differential Revision:\s*(\S+)\s*$/mi',
|
|
||||||
$message,
|
|
||||||
$match)) {
|
|
||||||
|
|
||||||
// NOTE: We now accept ONLY full URIs because if we accept numeric IDs
|
|
||||||
// then anyone importing the Phabricator repository will have their
|
|
||||||
// first few thousand revisions marked closed. This does mean that
|
|
||||||
// some older revisions won't re-parse correctly, but that shouldn't
|
|
||||||
// really affect anyone. If necessary, an install can extend the parser
|
|
||||||
// and restore the older, more-liberal parsing fairly easily.
|
|
||||||
|
|
||||||
$id = DifferentialRevisionIDFieldSpecification::parseRevisionIDFromURI(
|
|
||||||
$match[1]);
|
|
||||||
if ($id) {
|
|
||||||
$details['differential.revisionID'] = $id;
|
|
||||||
$revision = id(new DifferentialRevision())->load($id);
|
|
||||||
if ($revision) {
|
|
||||||
$details['differential.revisionPHID'] = $revision->getPHID();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (preg_match(
|
|
||||||
'/^\s*Reviewed By:\s*(\S+)\s*$/mi',
|
|
||||||
$message,
|
|
||||||
$match)) {
|
|
||||||
$details['reviewerName'] = $match[1];
|
|
||||||
|
|
||||||
$reviewer_phid = $this->resolveUserPHID($details['reviewerName']);
|
|
||||||
if ($reviewer_phid) {
|
|
||||||
$details['reviewerPHID'] = $reviewer_phid;
|
|
||||||
} else {
|
|
||||||
unset($details['reviewerPHID']);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
unset($details['reviewerName']);
|
|
||||||
unset($details['reviewerPHID']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$author_phid = $this->resolveUserPHID($author_name);
|
|
||||||
if ($author_phid) {
|
|
||||||
$details['authorPHID'] = $author_phid;
|
|
||||||
} else {
|
|
||||||
unset($details['authorPHID']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($details['committer'])) {
|
|
||||||
$committer_phid = $this->resolveUserPHID($details['committer']);
|
|
||||||
if ($committer_phid) {
|
|
||||||
$details['committerPHID'] = $committer_phid;
|
|
||||||
} else {
|
|
||||||
unset($details['committerPHID']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$data->setCommitDetails($details);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -27,14 +27,6 @@ abstract class PhabricatorRepositoryCommitMessageParserWorker
|
||||||
}
|
}
|
||||||
|
|
||||||
$repository = $this->repository;
|
$repository = $this->repository;
|
||||||
$detail_parser = $repository->getDetail(
|
|
||||||
'detail-parser',
|
|
||||||
'PhabricatorRepositoryDefaultCommitMessageDetailParser');
|
|
||||||
|
|
||||||
if ($detail_parser) {
|
|
||||||
$parser_obj = newv($detail_parser, array($commit, $data));
|
|
||||||
$parser_obj->parseCommitDetails();
|
|
||||||
}
|
|
||||||
|
|
||||||
$author_phid = $this->lookupUser(
|
$author_phid = $this->lookupUser(
|
||||||
$commit,
|
$commit,
|
||||||
|
|
Loading…
Reference in a new issue