diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2012-11-21 22:34:24 +0100 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2012-11-21 22:34:24 +0100 |
| commit | ba158e3ed03dec10e6654b0b0dd3710504bdf04d (patch) | |
| tree | 80112971f0e3b6d5d1f1ec4ef28f2208b7ff1680 /src/phorkie/Repository/ConnectionInfo.php | |
| parent | d63a7b14a6e1140fe5aa0610b1490f69b3494623 (diff) | |
| download | phorkie-ba158e3ed03dec10e6654b0b0dd3710504bdf04d.tar.gz phorkie-ba158e3ed03dec10e6654b0b0dd3710504bdf04d.zip | |
first work on Fork origin display; works for local forks
Diffstat (limited to 'src/phorkie/Repository/ConnectionInfo.php')
| -rw-r--r-- | src/phorkie/Repository/ConnectionInfo.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/phorkie/Repository/ConnectionInfo.php b/src/phorkie/Repository/ConnectionInfo.php new file mode 100644 index 0000000..3815856 --- /dev/null +++ b/src/phorkie/Repository/ConnectionInfo.php @@ -0,0 +1,42 @@ +<?php +namespace phorkie; + +class Repository_ConnectionInfo +{ + protected $arConfig; + protected $repo; + + + public function __construct(Repository $repo) + { + $this->repo = $repo; + $this->arConfig = parse_ini_file($this->repo->gitDir . '/config', true); + } + + public function isFork() + { + return $this->getOrigin() !== null; + } + + + public function getOrigin() + { + return $this->getRemote('origin'); + } + + /** + * @return Repository_Remote|null NULL if the remote does not exist, array + * with repository information otherwise + */ + public function getRemote($name) + { + if (!isset($this->arConfig['remote ' . $name])) { + return null; + } + return new Repository_Remote($name, $this->arConfig['remote ' . $name]); + } + +} + + +?> |
