diff options
Diffstat (limited to 'library/kzykhys/git/src/PHPGit/Git.php')
-rw-r--r-- | library/kzykhys/git/src/PHPGit/Git.php | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/library/kzykhys/git/src/PHPGit/Git.php b/library/kzykhys/git/src/PHPGit/Git.php deleted file mode 100644 index f952d6f1f..000000000 --- a/library/kzykhys/git/src/PHPGit/Git.php +++ /dev/null @@ -1,308 +0,0 @@ -<?php - -namespace PHPGit; - -use PHPGit\Command; -use PHPGit\Exception\GitException; -use Symfony\Component\Process\Process; -use Symfony\Component\Process\ProcessBuilder; - -/** - * PHPGit - A Git wrapper for PHP5.3+ - * ================================== - * - * [](https://packagist.org/packages/kzykhys/git) - * [](https://travis-ci.org/kzykhys/PHPGit) - * [](https://coveralls.io/r/kzykhys/PHPGit) - * [](https://insight.sensiolabs.com/projects/04f10b57-a113-47ad-8dda-9a6dacbb079f) - * - * Requirements - * ------------ - * - * * PHP5.3 - * * Git - * - * Installation - * ------------ - * - * Update your composer.json and run `composer update` - * - * ``` json - * { - * "require": { - * "kzykhys/git": "dev-master" - * } - * } - * ``` - * - * Basic Usage - * ----------- - * - * ``` php - * <?php - * - * require __DIR__ . '/vendor/autoload.php'; - * - * $git = new PHPGit\Git(); - * $git->clone('https://github.com/kzykhys/PHPGit.git', '/path/to/repo'); - * $git->setRepository('/path/to/repo'); - * $git->remote->add('production', 'git://example.com/your/repo.git'); - * $git->add('README.md'); - * $git->commit('Adds README.md'); - * $git->checkout('release'); - * $git->merge('master'); - * $git->push(); - * $git->push('production', 'release'); - * $git->tag->create('v1.0.1', 'release'); - * - * foreach ($git->tree('release') as $object) { - * if ($object['type'] == 'blob') { - * echo $git->show($object['file']); - * } - * } - * ``` - * - * @author Kazuyuki Hayashi <hayashi@valnur.net> - * @license MIT - * - * @method add($file, $options = array()) Add file contents to the index - * @method archive($file, $tree = null, $path = null, $options = array()) Create an archive of files from a named tree - * @method branch($options = array()) List both remote-tracking branches and local branches - * @method checkout($branch, $options = array()) Checkout a branch or paths to the working tree - * @method clone($repository, $path = null, $options = array()) Clone a repository into a new directory - * @method commit($message = '', $options = array()) Record changes to the repository - * @method config($options = array()) List all variables set in config file - * @method describe($committish = null, $options = array()) Returns the most recent tag that is reachable from a commit - * @method fetch($repository, $refspec = null, $options = array()) Fetches named heads or tags from one or more other repositories - * @method init($path, $options = array()) Create an empty git repository or reinitialize an existing one - * @method log($path = null, $options = array()) Returns the commit logs - * @method merge($commit, $message = null, $options = array()) Incorporates changes from the named commits into the current branch - * @method mv($source, $destination, $options = array()) Move or rename a file, a directory, or a symlink - * @method pull($repository = null, $refspec = null, $options = array()) Fetch from and merge with another repository or a local branch - * @method push($repository = null, $refspec = null, $options = array()) Update remote refs along with associated objects - * @method rebase($upstream = null, $branch = null, $options = array()) Forward-port local commits to the updated upstream head - * @method remote() Returns an array of existing remotes - * @method reset($commit = null, $paths = array()) Resets the index entries for all <paths> to their state at <commit> - * @method rm($file, $options = array()) Remove files from the working tree and from the index - * @method shortlog($commits = array()) Summarize 'git log' output - * @method show($object, $options = array()) Shows one or more objects (blobs, trees, tags and commits) - * @method stash() Save your local modifications to a new stash, and run git reset --hard to revert them - * @method status($options = array()) Show the working tree status - * @method tag() Returns an array of tags - * @method tree($branch = 'master', $path = '') List the contents of a tree object - */ -class Git -{ - - /** @var Command\AddCommand */ - public $add; - - /** @var Command\ArchiveCommand */ - public $archive; - - /** @var Command\BranchCommand */ - public $branch; - - /** @var Command\CatCommand */ - public $cat; - - /** @var Command\CheckoutCommand */ - public $checkout; - - /** @var Command\CloneCommand */ - public $clone; - - /** @var Command\CommitCommand */ - public $commit; - - /** @var Command\ConfigCommand */ - public $config; - - /** @var Command\DescribeCommand */ - public $describe; - - // Not implemented yet - public $diff; - - /** @var Command\FetchCommand */ - public $fetch; - - /** @var Command\InitCommand */ - public $init; - - /** @var Command\LogCommand */ - public $log; - - /** @var Command\MergeCommand */ - public $merge; - - /** @var Command\MvCommand */ - public $mv; - - /** @var Command\PullCommand */ - public $pull; - - /** @var Command\PushCommand */ - public $push; - - /** @var Command\RebaseCommand */ - public $rebase; - - /** @var Command\RemoteCommand */ - public $remote; - - /** @var Command\ResetCommand */ - public $reset; - - /** @var Command\RmCommand */ - public $rm; - - /** @var Command\ShortlogCommand */ - public $shortlog; - - /** @var Command\ShowCommand */ - public $show; - - /** @var Command\StashCommand */ - public $stash; - - /** @var Command\StatusCommand */ - public $status; - - /** @var Command\TagCommand */ - public $tag; - - /** @var Command\TreeCommand */ - public $tree; - - /** @var string */ - private $bin = 'git'; - - /** @var string */ - private $directory = '.'; - - /** - * Initializes sub-commands - */ - public function __construct() - { - $this->add = new Command\AddCommand($this); - $this->archive = new Command\ArchiveCommand($this); - $this->branch = new Command\BranchCommand($this); - $this->cat = new Command\CatCommand($this); - $this->checkout = new Command\CheckoutCommand($this); - $this->clone = new Command\CloneCommand($this); - $this->commit = new Command\CommitCommand($this); - $this->config = new Command\ConfigCommand($this); - $this->describe = new Command\DescribeCommand($this); - $this->fetch = new Command\FetchCommand($this); - $this->init = new Command\InitCommand($this); - $this->log = new Command\LogCommand($this); - $this->merge = new Command\MergeCommand($this); - $this->mv = new Command\MvCommand($this); - $this->pull = new Command\PullCommand($this); - $this->push = new Command\PushCommand($this); - $this->rebase = new Command\RebaseCommand($this); - $this->remote = new Command\RemoteCommand($this); - $this->reset = new Command\ResetCommand($this); - $this->rm = new Command\RmCommand($this); - $this->shortlog = new Command\ShortlogCommand($this); - $this->show = new Command\ShowCommand($this); - $this->stash = new Command\StashCommand($this); - $this->status = new Command\StatusCommand($this); - $this->tag = new Command\TagCommand($this); - $this->tree = new Command\TreeCommand($this); - } - - /** - * Calls sub-commands - * - * @param string $name The name of a property - * @param array $arguments An array of arguments - * - * @throws \BadMethodCallException - * @return mixed - */ - public function __call($name, $arguments) - { - if (isset($this->{$name}) && is_callable($this->{$name})) { - return call_user_func_array($this->{$name}, $arguments); - } - - throw new \BadMethodCallException(sprintf('Call to undefined method PHPGit\Git::%s()', $name)); - } - - /** - * Sets the Git binary path - * - * @param string $bin - * - * @return Git - */ - public function setBin($bin) - { - $this->bin = $bin; - - return $this; - } - - /** - * Sets the Git repository path - * - * @var string $directory - * - * @return Git - */ - public function setRepository($directory) - { - $this->directory = $directory; - - return $this; - } - - /** - * Returns version number - * - * @return mixed - */ - public function getVersion() - { - $process = $this->getProcessBuilder() - ->add('--version') - ->getProcess(); - - return $this->run($process); - } - - /** - * Returns an instance of ProcessBuilder - * - * @return ProcessBuilder - */ - public function getProcessBuilder() - { - return ProcessBuilder::create() - ->setPrefix($this->bin) - ->setWorkingDirectory($this->directory); - } - - /** - * Executes a process - * - * @param Process $process The process to run - * - * @throws Exception\GitException - * @return mixed - */ - public function run(Process $process) - { - $process->run(); - - if (!$process->isSuccessful()) { - throw new GitException($process->getErrorOutput(), $process->getExitCode(), $process->getCommandLine()); - } - - return $process->getOutput(); - } - -}
\ No newline at end of file |