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()
return $this->getOrigin() !== null;
}
+ public function hasForks()
+ {
+ return count($this->getForks()) > 0;
+ }
+
public function getOrigin()
{
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-') {
+ continue;
+ }
+ $arForks[substr($name, 7)] = new Repository_Remote(
+ substr($name, 7), $data
+ );
+ }
+ return $arForks;
+ }
}
-
-
?>