diff options
Diffstat (limited to 'library/kzykhys/git/src/PHPGit/Command/RebaseCommand.php')
-rw-r--r-- | library/kzykhys/git/src/PHPGit/Command/RebaseCommand.php | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/library/kzykhys/git/src/PHPGit/Command/RebaseCommand.php b/library/kzykhys/git/src/PHPGit/Command/RebaseCommand.php deleted file mode 100644 index 7516b360c..000000000 --- a/library/kzykhys/git/src/PHPGit/Command/RebaseCommand.php +++ /dev/null @@ -1,129 +0,0 @@ -<?php - -namespace PHPGit\Command; - -use PHPGit\Command; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; - -/** - * Forward-port local commits to the updated upstream head - `git rebase` - * - * @author Kazuyuki Hayashi <hayashi@valnur.net> - */ -class RebaseCommand extends Command -{ - - /** - * Forward-port local commits to the updated upstream head - * - * ``` php - * $git = new PHPGit\Git(); - * $git->setRepository('/path/to/repo'); - * $git->fetch('origin'); - * $git->rebase('origin/master'); - * ``` - * - * ##### Options - * - * - **onto** (_string_) Starting point at which to create the new commits - * - **no-verify** (_boolean_) Bypasses the pre-rebase hook - * - **force-rebase** (_boolean_) Force the rebase even if the current branch is a descendant of the commit you are rebasing onto - * - * @param string $upstream [optional] Upstream branch to compare against - * @param string $branch [optional] Working branch; defaults to HEAD - * @param array $options [optional] An array of options {@see RebaseCommand::setDefaultOptions} - * - * @return bool - */ - public function __invoke($upstream = null, $branch = null, array $options = array()) - { - $options = $this->resolve($options); - $builder = $this->git->getProcessBuilder() - ->add('rebase'); - - if ($options['onto']) { - $builder->add('--onto')->add($options['onto']); - } - - if ($upstream) { - $builder->add($upstream); - } - - if ($branch) { - $builder->add($branch); - } - - $this->git->run($builder->getProcess()); - - return true; - } - - /** - * Restart the rebasing process after having resolved a merge conflict - * - * @return bool - */ - public function continues() - { - $builder = $this->git->getProcessBuilder() - ->add('rebase') - ->add('--continue'); - - $this->git->run($builder->getProcess()); - - return true; - } - - /** - * Abort the rebase operation and reset HEAD to the original branch - * - * @return bool - */ - public function abort() - { - $builder = $this->git->getProcessBuilder() - ->add('rebase') - ->add('--abort'); - - $this->git->run($builder->getProcess()); - - return true; - } - - /** - * Restart the rebasing process by skipping the current patch - * - * @return bool - */ - public function skip() - { - $builder = $this->git->getProcessBuilder() - ->add('rebase') - ->add('--skip'); - - $this->git->run($builder->getProcess()); - - return true; - } - - /** - * {@inheritdoc} - * - * - **onto** (_string_) Starting point at which to create the new commits - * - **no-verify** (_boolean_) Bypasses the pre-rebase hook - * - **force-rebase** (_boolean_) Force the rebase even if the current branch is a descendant of the commit you are rebasing onto - */ - public function setDefaultOptions(OptionsResolverInterface $resolver) - { - $resolver->setDefaults(array( - 'onto' => null, - 'no-verify' => false, - 'force-rebase' => false - )); - - $resolver->setAllowedTypes(array( - 'onto' => array('null', 'string') - )); - } - -}
\ No newline at end of file |