Fix git config parsing, fixes #525

main
Jordi Boggiano 12 years ago
parent d63c0100ab
commit 278f0ec350

@ -323,11 +323,16 @@ EOT
$finder = new ExecutableFinder(); $finder = new ExecutableFinder();
$gitBin = $finder->find('git'); $gitBin = $finder->find('git');
$cmd = new Process(sprintf('%s config -l', $gitBin)); $cmd = new Process(sprintf('%s config -l', escapeshellarg($gitBin)));
$cmd->run(); $cmd->run();
if ($cmd->isSuccessful()) { if ($cmd->isSuccessful()) {
return $this->gitConfig = parse_ini_string($cmd->getOutput(), false, INI_SCANNER_RAW); $this->gitConfig = array();
preg_match_all('{^([^=]+)=(.*)$}m', $cmd->getOutput(), $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
$this->gitConfig[$match[1]] = $match[2];
}
return $this->gitConfig;
} }
return $this->gitConfig = array(); return $this->gitConfig = array();

Loading…
Cancel
Save