public function execute(PhutilArgumentParser $args)
 {
     $names = $args->getArg('repos');
     $repos = PhabricatorRepository::loadAllByPHIDOrCallsign($names);
     if (!$repos) {
         throw new PhutilArgumentUsageException("Specify one or more repositories to pull, by callsign or PHID.");
     }
     $console = PhutilConsole::getConsole();
     foreach ($repos as $repo) {
         $console->writeOut("Pulling '%s'...\n", $repo->getCallsign());
         $daemon = new PhabricatorRepositoryPullLocalDaemon(array());
         $daemon->setVerbose($args->getArg('verbose'));
         $daemon->pullRepository($repo);
     }
     $console->writeOut("Done.\n");
     return 0;
 }
 /**
  * @task pull
  */
 protected function loadRepositories(array $names)
 {
     if (!count($names)) {
         return id(new PhabricatorRepository())->loadAll();
     } else {
         return PhabricatorRepository::loadAllByPHIDOrCallsign($names);
     }
 }