mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-19 12:00:55 +01:00
Differental - match "Revision ID:" uri value on domain only
Summary: pre-patch, we match on things like https / http and port... just match domains. Fixes T5693. Test Plan: arc diff -> arc land and the diff was closed correctly Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T5693 Differential Revision: https://secure.phabricator.com/D10701
This commit is contained in:
parent
1af6f21573
commit
af4ebc67c6
1 changed files with 8 additions and 4 deletions
|
@ -47,22 +47,26 @@ final class DifferentialRevisionIDField
|
|||
$this->revisionID = $value;
|
||||
}
|
||||
|
||||
private static function parseRevisionIDFromURI($uri) {
|
||||
$path = id(new PhutilURI($uri))->getPath();
|
||||
private static function parseRevisionIDFromURI($uri_string) {
|
||||
$uri = new PhutilURI($uri_string);
|
||||
$path = $uri->getPath();
|
||||
|
||||
$matches = null;
|
||||
if (preg_match('#^/D(\d+)$#', $path, $matches)) {
|
||||
$id = (int)$matches[1];
|
||||
|
||||
$prod_uri = new PhutilURI(PhabricatorEnv::getProductionURI('/D'.$id));
|
||||
|
||||
// Make sure the URI is the same as our URI. Basically, we want to ignore
|
||||
// commits from other Phabricator installs.
|
||||
if ($uri == PhabricatorEnv::getProductionURI('/D'.$id)) {
|
||||
if ($uri->getDomain() == $prod_uri->getDomain()) {
|
||||
return $id;
|
||||
}
|
||||
|
||||
$allowed_uris = PhabricatorEnv::getAllowedURIs('/D'.$id);
|
||||
|
||||
foreach ($allowed_uris as $allowed_uri) {
|
||||
if ($uri == $allowed_uri) {
|
||||
if ($uri_string == $allowed_uri) {
|
||||
return $id;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue