From 34e870819ce59ddac78eeaa44c97b8da6f21fb4f Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 3 May 2016 13:10:38 -0700 Subject: [PATCH] Remove "bin/repository edit" workflow Summary: Ref T10748. In D14250#158181, I accepted this conditional on removing it once Conduit could handle it. Conduit can now handle it, or at least will be able to as soon as T10748 cuts over. Test Plan: Grepped for `repository edit`. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10748 Differential Revision: https://secure.phabricator.com/D15839 --- src/__phutil_library_map__.php | 2 - ...icatorRepositoryManagementEditWorkflow.php | 124 ------------------ 2 files changed, 126 deletions(-) delete mode 100644 src/applications/repository/management/PhabricatorRepositoryManagementEditWorkflow.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 72e734da87..f6a91ecd35 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -3190,7 +3190,6 @@ phutil_register_library_map(array( 'PhabricatorRepositoryManagementCacheWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementCacheWorkflow.php', 'PhabricatorRepositoryManagementClusterizeWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementClusterizeWorkflow.php', 'PhabricatorRepositoryManagementDiscoverWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementDiscoverWorkflow.php', - 'PhabricatorRepositoryManagementEditWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementEditWorkflow.php', 'PhabricatorRepositoryManagementImportingWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementImportingWorkflow.php', 'PhabricatorRepositoryManagementListPathsWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementListPathsWorkflow.php', 'PhabricatorRepositoryManagementListWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementListWorkflow.php', @@ -7867,7 +7866,6 @@ phutil_register_library_map(array( 'PhabricatorRepositoryManagementCacheWorkflow' => 'PhabricatorRepositoryManagementWorkflow', 'PhabricatorRepositoryManagementClusterizeWorkflow' => 'PhabricatorRepositoryManagementWorkflow', 'PhabricatorRepositoryManagementDiscoverWorkflow' => 'PhabricatorRepositoryManagementWorkflow', - 'PhabricatorRepositoryManagementEditWorkflow' => 'PhabricatorRepositoryManagementWorkflow', 'PhabricatorRepositoryManagementImportingWorkflow' => 'PhabricatorRepositoryManagementWorkflow', 'PhabricatorRepositoryManagementListPathsWorkflow' => 'PhabricatorRepositoryManagementWorkflow', 'PhabricatorRepositoryManagementListWorkflow' => 'PhabricatorRepositoryManagementWorkflow', diff --git a/src/applications/repository/management/PhabricatorRepositoryManagementEditWorkflow.php b/src/applications/repository/management/PhabricatorRepositoryManagementEditWorkflow.php deleted file mode 100644 index 8bf31c63d9..0000000000 --- a/src/applications/repository/management/PhabricatorRepositoryManagementEditWorkflow.php +++ /dev/null @@ -1,124 +0,0 @@ -setName('edit') - ->setExamples('**edit** --as __username__ __repository__ ...') - ->setSynopsis( - pht( - 'Edit __repository__ (will eventually be deprecated by Conduit).')) - ->setArguments( - array( - array( - 'name' => 'repos', - 'wildcard' => true, - ), - array( - 'name' => 'as', - 'param' => 'user', - 'help' => pht('Edit as user.'), - ), - array( - 'name' => 'serve-http', - 'param' => 'string', - 'help' => pht('Edit the http serving policy.'), - ), - array( - 'name' => 'serve-ssh', - 'param' => 'string', - 'help' => pht('Edit the ssh serving policy.'), - ), - )); - } - - public function execute(PhutilArgumentParser $args) { - $repos = $this->loadRepositories($args, 'repos'); - - if (!$repos) { - throw new PhutilArgumentUsageException( - pht('Specify one or more repositories to edit.')); - } - - $console = PhutilConsole::getConsole(); - - // TODO: It would be nice to just take this action as "Administrator" or - // similar, since that would make it easier to use this script, harder to - // impersonate users, and more clear to viewers what happened. However, - // the omnipotent user doesn't have a PHID right now, can't be loaded, - // doesn't have a handle, etc. Adding all of that is fairly involved, and - // I want to wait for stronger use cases first. - - $username = $args->getArg('as'); - if (!$username) { - throw new PhutilArgumentUsageException( - pht( - 'Specify a user to edit as with %s.', - '--as ')); - } - - $actor = id(new PhabricatorPeopleQuery()) - ->setViewer($this->getViewer()) - ->withUsernames(array($username)) - ->executeOne(); - - if (!$actor) { - throw new PhutilArgumentUsageException( - pht("No such user '%s'!", $username)); - } - - foreach ($repos as $repo) { - $console->writeOut( - "%s\n", - pht( - 'Editing "%s"...', - $repo->getDisplayName())); - - $xactions = array(); - - $type_protocol_http = - PhabricatorRepositoryTransaction::TYPE_PROTOCOL_HTTP; - $type_protocol_ssh = PhabricatorRepositoryTransaction::TYPE_PROTOCOL_SSH; - $allowed_serve_modes = array( - PhabricatorRepository::SERVE_OFF, - PhabricatorRepository::SERVE_READONLY, - PhabricatorRepository::SERVE_READWRITE, - ); - - $serve_http = $args->getArg('serve-http'); - if ($serve_http && in_array($serve_http, $allowed_serve_modes)) { - $xactions[] = id(new PhabricatorRepositoryTransaction()) - ->setTransactionType($type_protocol_http) - ->setNewValue($serve_http); - } - $serve_ssh = $args->getArg('serve-ssh'); - if ($serve_ssh && in_array($serve_ssh, $allowed_serve_modes)) { - $xactions[] = id(new PhabricatorRepositoryTransaction()) - ->setTransactionType($type_protocol_ssh) - ->setNewValue($serve_ssh); - } - - - if (!$xactions) { - throw new PhutilArgumentUsageException( - pht('Specify one or more fields to edit!')); - } - - $content_source = $this->newContentSource(); - - $editor = id(new PhabricatorRepositoryEditor()) - ->setActor($actor) - ->setContentSource($content_source) - ->setContinueOnNoEffect(true) - ->setContinueOnMissingFields(true) - ->applyTransactions($repo, $xactions); - } - - $console->writeOut("%s\n", pht('Done.')); - - return 0; - } - -}