Differential D8096 Diff 18345 src/applications/diffusion/controller/DiffusionRepositoryController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/controller/DiffusionRepositoryController.php
Show First 20 Lines • Show All 168 Lines • ▼ Show 20 Lines | private function buildPropertiesTable(PhabricatorRepository $repository) { | ||||
if ($project_phids) { | if ($project_phids) { | ||||
$this->loadHandles($project_phids); | $this->loadHandles($project_phids); | ||||
$view->addProperty( | $view->addProperty( | ||||
pht('Projects'), | pht('Projects'), | ||||
$this->renderHandlesForPHIDs($project_phids)); | $this->renderHandlesForPHIDs($project_phids)); | ||||
} | } | ||||
if ($repository->isHosted()) { | if ($repository->isHosted()) { | ||||
$serve_off = PhabricatorRepository::SERVE_OFF; | $ssh_uri = $repository->getSSHCloneURIObject(); | ||||
$callsign = $repository->getCallsign(); | if ($ssh_uri) { | ||||
$repo_path = '/diffusion/'.$callsign.'/'; | |||||
$serve_ssh = $repository->getServeOverSSH(); | |||||
if ($serve_ssh !== $serve_off) { | |||||
$uri = new PhutilURI(PhabricatorEnv::getProductionURI($repo_path)); | |||||
if ($repository->isSVN()) { | |||||
$uri->setProtocol('svn+ssh'); | |||||
} else { | |||||
$uri->setProtocol('ssh'); | |||||
} | |||||
$ssh_user = PhabricatorEnv::getEnvConfig('diffusion.ssh-user'); | |||||
if ($ssh_user) { | |||||
$uri->setUser($ssh_user); | |||||
} | |||||
$uri->setPort(PhabricatorEnv::getEnvConfig('diffusion.ssh-port')); | |||||
$clone_uri = $this->renderCloneURI( | $clone_uri = $this->renderCloneURI( | ||||
$uri, | $ssh_uri, | ||||
$serve_ssh, | $repository->getServeOverSSH(), | ||||
'/settings/panel/ssh/'); | '/settings/panel/ssh/'); | ||||
$view->addProperty(pht('Clone URI (SSH)'), $clone_uri); | $view->addProperty(pht('Clone URI (SSH)'), $clone_uri); | ||||
} | } | ||||
$serve_http = $repository->getServeOverHTTP(); | $http_uri = $repository->getHTTPCloneURIObject(); | ||||
if ($serve_http !== $serve_off) { | if ($http_uri) { | ||||
$http_uri = PhabricatorEnv::getProductionURI($repo_path); | |||||
$clone_uri = $this->renderCloneURI( | $clone_uri = $this->renderCloneURI( | ||||
$http_uri, | $http_uri, | ||||
$serve_http, | $repository->getServeOverHTTP(), | ||||
PhabricatorEnv::getEnvConfig('diffusion.allow-http-auth') | PhabricatorEnv::getEnvConfig('diffusion.allow-http-auth') | ||||
? '/settings/panel/vcspassword/' | ? '/settings/panel/vcspassword/' | ||||
: null); | : null); | ||||
$view->addProperty(pht('Clone URI (HTTP)'), $clone_uri); | $view->addProperty(pht('Clone URI (HTTP)'), $clone_uri); | ||||
} | } | ||||
} else { | } else { | ||||
switch ($repository->getVersionControlSystem()) { | switch ($repository->getVersionControlSystem()) { | ||||
case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT: | case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT: | ||||
case PhabricatorRepositoryType::REPOSITORY_TYPE_MERCURIAL: | case PhabricatorRepositoryType::REPOSITORY_TYPE_MERCURIAL: | ||||
$view->addProperty( | $view->addProperty( | ||||
pht('Clone URI'), | pht('Clone URI'), | ||||
$this->renderCloneURI( | $this->renderCloneURI( | ||||
$repository->getPublicRemoteURI())); | $repository->getPublicCloneURI())); | ||||
break; | break; | ||||
case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: | case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: | ||||
$view->addProperty( | $view->addProperty( | ||||
pht('Repository Root'), | pht('Repository Root'), | ||||
$this->renderCloneURI( | $this->renderCloneURI( | ||||
$repository->getPublicRemoteURI())); | $repository->getPublicCloneURI())); | ||||
break; | break; | ||||
} | } | ||||
} | } | ||||
$description = $repository->getDetail('description'); | $description = $repository->getDetail('description'); | ||||
if (strlen($description)) { | if (strlen($description)) { | ||||
$description = PhabricatorMarkupEngine::renderOneObject( | $description = PhabricatorMarkupEngine::renderOneObject( | ||||
$repository, | $repository, | ||||
▲ Show 20 Lines • Show All 360 Lines • Show Last 20 Lines |