Record changes to the repository. If only one argument is passed, it is
assumed to be the commit message. Therefore $git->commit('Message');
yields a git commit -am "Message" command.
public commit ( ) : |
||
return |
public function execute(GitWorkingCopy $git, LocalPackage $package) { $git->add('.'); $this->dispatchEvent(StepsEvents::GIT_ADDED, new GitEventMade($git)); $git->commit($this->getCommitMessage($git)); $this->dispatchEvent(StepsEvents::GIT_COMMITTED, new GitEventMade($git)); $git->push('origin', $package->getLocalBranch(), array('f' => true)); $this->dispatchEvent(StepsEvents::GIT_PUSHED, new GitEventMade($git)); return null === $git->getStatus() ? true : false; }
/** * Merge three strings in a specified file. * * @param string $file * The file name in the git repository to which the content is written. * @param string $base * The common base text. * @param string $remote * The first changed text. * @param string $local * The second changed text * * @return string * The merged text. */ protected function mergeFile($file, $base, $remote, $local) { file_put_contents($file, $base); $this->git->add($file); $this->git->commit('Add base.'); if (!in_array('original', $this->git->getBranches()->all())) { $this->git->checkoutNewBranch('original'); } else { $this->git->checkout('original'); $this->git->rebase('master'); } file_put_contents($file, $remote); $this->git->add($file); $this->git->commit('Add remote.'); $this->git->checkout('master'); file_put_contents($file, $local); $this->git->add($file); $this->git->commit('Add local.'); $this->git->merge('original'); return file_get_contents($file); }