setName('git:push'); $this->setDescription('Push Piwik repo and all submodules'); } protected function execute(InputInterface $input, OutputInterface $output) { $cmd = sprintf('cd %s && git push --recurse-submodules=on-demand', PIWIK_DOCUMENT_ROOT); $output->writeln('Executing command: ' . $cmd); passthru($cmd); } private function hasUnpushedCommits() { $cmd = sprintf('cd %s && git log @{u}..',PIWIK_DOCUMENT_ROOT); $hasUnpushedCommits = shell_exec($cmd); $hasUnpushedCommits = trim($hasUnpushedCommits); return !empty($hasUnpushedCommits); } }