Page MenuHomePhabricator

D13602.id32873.diff
No OneTemporary

D13602.id32873.diff

diff --git a/src/applications/repository/conduit/RepositoryCreateConduitAPIMethod.php b/src/applications/repository/conduit/RepositoryCreateConduitAPIMethod.php
--- a/src/applications/repository/conduit/RepositoryCreateConduitAPIMethod.php
+++ b/src/applications/repository/conduit/RepositoryCreateConduitAPIMethod.php
@@ -21,6 +21,7 @@
protected function defineParamTypes() {
$vcs_const = $this->formatStringConstants(array('git', 'hg', 'svn'));
+ $vcs_serve = $this->formatStringConstants(array(PhabricatorRepository::SERVE_OFF,PhabricatorRepository::SERVE_READONLY,PhabricatorRepository::SERVE_READWRITE));
return array(
'name' => 'required string',
@@ -30,6 +31,8 @@
'encoding' => 'optional string',
'tracking' => 'optional bool',
'uri' => 'required string',
+ 'serveOverHttp' => 'optional '.$vcs_serve.', require uri=false, default = '.PhabricatorRepository::SERVE_OFF,
+ 'serveOverSsh' => 'optional '.$vcs_serve.', require uri=false, default = '.PhabricatorRepository::SERVE_OFF,
'credentialPHID' => 'optional string',
'svnSubpath' => 'optional string',
'branchFilter' => 'optional list<string>',
@@ -102,14 +105,10 @@
$repository->setCredentialPHID($request->getValue('credentialPHID'));
- $remote_uri = $request->getValue('uri');
- PhabricatorRepository::assertValidRemoteURI($remote_uri);
-
$details = array(
'encoding' => $request->getValue('encoding'),
'description' => $request->getValue('description'),
'tracking-enabled' => (bool)$request->getValue('tracking', true),
- 'remote-uri' => $remote_uri,
'local-path' => $local_path,
'branch-filter' => array_fill_keys(
$request->getValue('branchFilter', array()),
@@ -124,6 +123,24 @@
'disable-autoclose' => !$request->getValue('autocloseEnabled', true),
);
+ $remote_uri = $request->getValue('uri');
+
+ if ($remote_uri == false || empty($remote_uri)) {
+ $vcs_serve = array(PhabricatorRepository::SERVE_OFF,PhabricatorRepository::SERVE_READONLY,PhabricatorRepository::SERVE_READWRITE);
+
+ $details['hosting-enabled'] = true;
+
+ if (in_array($request->getValue('serveOverHttp', PhabricatorRepository::SERVE_OFF),$vcs_serve)) {
+ $details['serve-over-http'] = $request->getValue('serveOverHttp', PhabricatorRepository::SERVE_OFF);
+ }
+ if (in_array($request->getValue('serveOverSsh', PhabricatorRepository::SERVE_OFF),$vcs_serve)) {
+ $details['serve-over-ssh'] = $request->getValue('serveOverSsh', PhabricatorRepository::SERVE_OFF);
+ }
+ } else {
+ PhabricatorRepository::assertValidRemoteURI($remote_uri);
+ $details['remote-uri'] = $remote_uri;
+ }
+
foreach ($details as $key => $value) {
$repository->setDetail($key, $value);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 21, 2:34 PM (4 d, 20 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7571376
Default Alt Text
D13602.id32873.diff (2 KB)

Event Timeline