Page MenuHomePhabricator

D7514.diff

diff --git a/scripts/repository/manage_repositories.php b/scripts/repository/manage_repositories.php
--- a/scripts/repository/manage_repositories.php
+++ b/scripts/repository/manage_repositories.php
@@ -20,6 +20,7 @@
new PhabricatorRepositoryManagementDiscoverWorkflow(),
new PhabricatorRepositoryManagementListWorkflow(),
new PhabricatorRepositoryManagementDeleteWorkflow(),
+ new PhabricatorRepositoryManagementMarkImportedWorkflow(),
new PhutilHelpArgumentWorkflow(),
);
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -1661,6 +1661,7 @@
'PhabricatorRepositoryManagementDeleteWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementDeleteWorkflow.php',
'PhabricatorRepositoryManagementDiscoverWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementDiscoverWorkflow.php',
'PhabricatorRepositoryManagementListWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementListWorkflow.php',
+ 'PhabricatorRepositoryManagementMarkImportedWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementMarkImportedWorkflow.php',
'PhabricatorRepositoryManagementPullWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementPullWorkflow.php',
'PhabricatorRepositoryManagementWorkflow' => 'applications/repository/management/PhabricatorRepositoryManagementWorkflow.php',
'PhabricatorRepositoryMercurialCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/PhabricatorRepositoryMercurialCommitChangeParserWorker.php',
@@ -4013,6 +4014,7 @@
'PhabricatorRepositoryManagementDeleteWorkflow' => 'PhabricatorRepositoryManagementWorkflow',
'PhabricatorRepositoryManagementDiscoverWorkflow' => 'PhabricatorRepositoryManagementWorkflow',
'PhabricatorRepositoryManagementListWorkflow' => 'PhabricatorRepositoryManagementWorkflow',
+ 'PhabricatorRepositoryManagementMarkImportedWorkflow' => 'PhabricatorRepositoryManagementWorkflow',
'PhabricatorRepositoryManagementPullWorkflow' => 'PhabricatorRepositoryManagementWorkflow',
'PhabricatorRepositoryManagementWorkflow' => 'PhutilArgumentWorkflow',
'PhabricatorRepositoryMercurialCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
diff --git a/src/applications/repository/management/PhabricatorRepositoryManagementMarkImportedWorkflow.php b/src/applications/repository/management/PhabricatorRepositoryManagementMarkImportedWorkflow.php
new file mode 100644
--- /dev/null
+++ b/src/applications/repository/management/PhabricatorRepositoryManagementMarkImportedWorkflow.php
@@ -0,0 +1,67 @@
+<?php
+
+final class PhabricatorRepositoryManagementMarkImportedWorkflow
+ extends PhabricatorRepositoryManagementWorkflow {
+
+ public function didConstruct() {
+ $this
+ ->setName('mark-imported')
+ ->setExamples('**mark-imported** __repository__ ...')
+ ->setSynopsis('Mark __repository__, named by callsign, as imported.')
+ ->setArguments(
+ array(
+ array(
+ 'name' => 'mark-not-imported',
+ 'help' => 'Instead, mark repositories as NOT imported.',
+ ),
+ array(
+ 'name' => 'repos',
+ 'wildcard' => true,
+ ),
+ ));
+ }
+
+ public function execute(PhutilArgumentParser $args) {
+ $repos = $this->loadRepositories($args, 'repos');
+
+ if (!$repos) {
+ throw new PhutilArgumentUsageException(
+ "Specify one or more repositories to mark imported, by callsign.");
+ }
+
+ $new_importing_value = (bool)$args->getArg('mark-not-imported');
+
+ $console = PhutilConsole::getConsole();
+ foreach ($repos as $repo) {
+ $callsign = $repo->getCallsign();
+
+ if ($repo->isImporting() && $new_importing_value) {
+ $console->writeOut(
+ "%s\n",
+ pht("Repository '%s' is already importing.", $callsign));
+ } else if (!$repo->isImporting() && !$new_importing_value) {
+ $console->writeOut(
+ "%s\n",
+ pht("Repository '%s' is already imported.", $callsign));
+ } else {
+ if ($new_importing_value) {
+ $console->writeOut(
+ "%s\n",
+ pht("Marking repository '%s' as importing.", $callsign));
+ } else {
+ $console->writeOut(
+ "%s\n",
+ pht("Marking repository '%s' as imported.", $callsign));
+ }
+
+ $repo->setDetail('importing', $new_importing_value);
+ $repo->save();
+ }
+ }
+
+ $console->writeOut("Done.\n");
+
+ return 0;
+ }
+
+}

File Metadata

Mime Type
text/x-diff
Storage Engine
amazon-s3
Storage Format
Raw Data
Storage Handle
phabricator/ea/4c/khcy57l4hi2p4y5a
Default Alt Text
D7514.diff (4 KB)

Event Timeline