merge() public method

Join two or more development histories together.
public merge ( ) : GitWorkingCopy
return GitWorkingCopy
Esempio n. 1
0
 /**
  * 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);
 }