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']}"); }
private function ensureMasterBranchForMainRepo() { $repo = Repositories::getMain(); $path = Repositories::getRepoDir() . $repo['directory']; if (is_dir($path)) { chdir($path); exec('git checkout master'); } }
/** * @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; }