1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-26 08:42:40 +01:00

Drop support for parsing non-URL differential IDs from commit message.

Summary: This has been a `TODO` for a few years now... no-one should be using the old-school (non-URL) syntax anymore.

Test Plan: I'm actually not sure if it's okay to drop support for this... please verify.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Differential Revision: https://secure.phabricator.com/D9595
This commit is contained in:
Joshua Spence 2014-06-18 01:39:28 +10:00
parent 4c99a65567
commit f2f5fb2508

View file

@ -19,27 +19,20 @@ final class ArcanistDifferentialCommitMessage {
$obj = new ArcanistDifferentialCommitMessage(); $obj = new ArcanistDifferentialCommitMessage();
$obj->rawCorpus = $corpus; $obj->rawCorpus = $corpus;
// Parse older-style "123" fields, or newer-style full-URI fields.
// TODO: Remove support for older-style fields.
$match = null; $match = null;
if (preg_match('/^Differential Revision:\s*(.*)/im', $corpus, $match)) { if (preg_match('/^Differential Revision:\s*(.*)/im', $corpus, $match)) {
$revision_id = trim($match[1]); $revision_id = trim($match[1]);
if (strlen($revision_id)) { if (strlen($revision_id)) {
if (preg_match('/^D?\d+$/', $revision_id)) { $uri = new PhutilURI($revision_id);
$obj->revisionID = (int)trim($revision_id, 'D'); $path = $uri->getPath();
$path = trim($path, '/');
if (preg_match('/^D\d+$/', $path)) {
$obj->revisionID = (int)trim($path, 'D');
} else { } else {
$uri = new PhutilURI($revision_id); throw new ArcanistUsageException(
$path = $uri->getPath(); "Invalid 'Differential Revision' field. The field should have a ".
$path = trim($path, '/'); "Phabricator URI like 'http://phabricator.example.com/D123', ".
if (preg_match('/^D\d+$/', $path)) { "but has '{$match[1]}'.");
$obj->revisionID = (int)trim($path, 'D');
} else {
throw new ArcanistUsageException(
"Invalid 'Differential Revision' field. The field should have a ".
"Phabricator URI like 'http://phabricator.example.com/D123', ".
"but has '{$match[1]}'.");
}
} }
} }
} }