Gush\Command\PullRequest\PullRequestSemVerCommand::execute PHP Method

execute() protected method

protected execute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output )
$input Symfony\Component\Console\Input\InputInterface
$output Symfony\Component\Console\Output\OutputInterface
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $pr = $this->getAdapter()->getPullRequest($input->getArgument('pr_number'));
        $sourceOrg = $pr['head']['user'];
        $branchName = $pr['head']['ref'];
        /** @var GitConfigHelper $gitConfigHelper */
        $gitConfigHelper = $this->getHelper('git_config');
        $gitConfigHelper->ensureRemoteExists($sourceOrg, $pr['head']['repo']);
        /** @var GitHelper $gitHelper */
        $gitHelper = $this->getHelper('git');
        $gitHelper->remoteUpdate($sourceOrg);
        $lastTag = $gitHelper->getLastTagOnBranch($sourceOrg . '/' . $branchName);
        if (empty($lastTag)) {
            $lastTag = '0.0.0';
        }
        // adjust case for format v2.3
        $lastTag = ltrim($lastTag, 'v');
        $builder = Parser::toBuilder($lastTag);
        switch (true) {
            case $input->getOption('major'):
                $builder->incrementMajor();
                break;
            case $input->getOption('minor'):
                $builder->incrementMinor();
                break;
            case $input->getOption('patch'):
                $builder->incrementPatch();
                break;
            default:
                $builder->incrementPatch();
                break;
        }
        $output->writeln(Dumper::toString($builder->getVersion()));
        return self::COMMAND_SUCCESS;
    }
PullRequestSemVerCommand