mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 10:42:41 +01:00
83 lines
2.1 KiB
PHP
83 lines
2.1 KiB
PHP
|
<?php
|
||
|
|
||
|
$table = new PhabricatorRepository();
|
||
|
$conn_w = $table->establishConnection('w');
|
||
|
|
||
|
foreach (new LiskMigrationIterator($table) as $repository) {
|
||
|
$uris = array();
|
||
|
|
||
|
$serve_http = $repository->getDetail('serve-over-http');
|
||
|
$http_io = PhabricatorRepositoryURI::IO_DEFAULT;
|
||
|
$disable_http = false;
|
||
|
switch ($serve_http) {
|
||
|
case 'readwrite':
|
||
|
break;
|
||
|
case 'readonly':
|
||
|
$http_io = PhabricatorRepositoryURI::IO_READ;
|
||
|
break;
|
||
|
case 'off':
|
||
|
default:
|
||
|
$disable_http = true;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
$serve_ssh = $repository->getDetail('serve-over-ssh');
|
||
|
$ssh_io = PhabricatorRepositoryURI::IO_DEFAULT;
|
||
|
$disable_ssh = false;
|
||
|
switch ($serve_ssh) {
|
||
|
case 'readwrite':
|
||
|
break;
|
||
|
case 'readonly':
|
||
|
$ssh_io = PhabricatorRepositoryURI::IO_READ;
|
||
|
break;
|
||
|
case 'off':
|
||
|
default:
|
||
|
$disable_ssh = true;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
$uris = $repository->newBuiltinURIs();
|
||
|
|
||
|
foreach ($uris as $uri) {
|
||
|
$builtin_protocol = $uri->getBuiltinProtocol();
|
||
|
if ($builtin_protocol == PhabricatorRepositoryURI::BUILTIN_PROTOCOL_SSH) {
|
||
|
$uri->setIsDisabled((int)$disable_ssh);
|
||
|
$uri->setIoType($ssh_io);
|
||
|
} else {
|
||
|
$uri->setIsDisabled((int)$disable_http);
|
||
|
$uri->setIoType($http_io);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!$repository->isHosted()) {
|
||
|
$remote_uri = $repository->getDetail('remote-uri');
|
||
|
if (strlen($remote_uri)) {
|
||
|
$uris[] = PhabricatorRepositoryURI::initializeNewURI()
|
||
|
->setRepositoryPHID($repository->getPHID())
|
||
|
->attachRepository($repository)
|
||
|
->setURI($remote_uri)
|
||
|
->setCredentialPHID($repository->getCredentialPHID())
|
||
|
->setIOType(PhabricatorRepositoryURI::IO_OBSERVE);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
foreach ($uris as $uri) {
|
||
|
$already_exists = id(new PhabricatorRepositoryURI())->loadOneWhere(
|
||
|
'repositoryPHID = %s AND uri = %s LIMIT 1',
|
||
|
$repository->getPHID(),
|
||
|
$uri->getURI());
|
||
|
if ($already_exists) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
$uri->save();
|
||
|
|
||
|
echo tsprintf(
|
||
|
"%s\n",
|
||
|
pht(
|
||
|
'Migrated URI "%s" for repository "%s".',
|
||
|
$uri->getURI(),
|
||
|
$repository->getDisplayName()));
|
||
|
}
|
||
|
}
|