コード例 #1
0
 private function copyDirectory()
 {
     $repoDir = Repositories::getRepoDir();
     $mainRepoRootDir = $repoDir . Repositories::getMain()['directory'];
     // "." is required to copy hidden files too
     exec("cp -r {$mainRepoRootDir}/{$this->prefix}. {$repoDir}{$this->repository['directory']}");
 }
コード例 #2
0
 private function ensureMasterBranchForMainRepo()
 {
     $repo = Repositories::getMain();
     $path = Repositories::getRepoDir() . $repo['directory'];
     if (is_dir($path)) {
         chdir($path);
         exec('git checkout master');
     }
 }
コード例 #3
0
 /**
  * @param \Symfony\Component\Console\Input\InputInterface   $input
  * @param \Symfony\Component\Console\Output\OutputInterface $output
  *
  * @return int
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->checkoutRepositoriesDir();
     $repositories = Repositories::getModules();
     $repositories['main'] = Repositories::getMain();
     /** @var UpdateRepositoryThread[] $workers */
     $workers = [];
     $i = 0;
     foreach ($repositories as $prefix => $info) {
         $workers[$i] = new UpdateRepositoryThread($info);
         $workers[$i]->start();
         ++$i;
     }
     foreach (range(0, $i - 1) as $worker) {
         $workers[$worker]->join();
     }
     return 0;
 }