X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/f47ddf0758f120dfb26f03fb36be5cd897a10f23..2a665e0f4eeb45c9d57df7dc7f9d853465b5fea9:/src/phorkie/Repository/ConnectionInfo.php diff --git a/src/phorkie/Repository/ConnectionInfo.php b/src/phorkie/Repository/ConnectionInfo.php index ce96c3e..f6a7a40 100644 --- a/src/phorkie/Repository/ConnectionInfo.php +++ b/src/phorkie/Repository/ConnectionInfo.php @@ -10,7 +10,10 @@ class Repository_ConnectionInfo public function __construct(Repository $repo) { $this->repo = $repo; - $this->arConfig = parse_ini_file($this->repo->gitDir . '/config', true); + //we need raw parsing; https://bugs.php.net/bug.php?id=68347 + $this->arConfig = parse_ini_file( + $this->repo->gitDir . '/config', true, INI_SCANNER_RAW + ); } public function isFork() @@ -35,21 +38,21 @@ class Repository_ConnectionInfo */ public function getRemote($name) { - if (!isset($this->arConfig['remote ' . $name])) { + if (!isset($this->arConfig['remote "' . $name . '"'])) { return null; } - return new Repository_Remote($name, $this->arConfig['remote ' . $name]); + return new Repository_Remote($name, $this->arConfig['remote "' . $name . '"']); } public function getForks() { $arForks = array(); foreach ($this->arConfig as $name => $data) { - if (substr($name, 0, 12) != 'remote fork-') { + if (substr($name, 0, 13) != 'remote "fork-') { continue; } - $arForks[substr($name, 7)] = new Repository_Remote( - substr($name, 7), $data + $arForks[substr($name, 8, -1)] = new Repository_Remote( + substr($name, 8, -1), $data ); } return $arForks;