Page MenuHomePhabricator

GitInfo.php doesn't like brackets. Gives warning on Special:version
Open, LowPublic

Description

From Special:version:

<br />
<b>Warning</b>: syntax error, unexpected ')' in /var/www/w/git/.git/config on line 17
in <b>/var/www/w/git/includes/GitInfo.php</b> on line <b>173</b><br />
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/w/git/includes/GitInfo.php</b> on line <b>180</b><br />


Relevant lines of my .git/config:

[merge "mediawikireleasenotes"]

MediaWiki release notes merge driver
driver = ruby $(git rev-parse --git-dir)/mediawikireleasenotes.rb %O %A %B

(The driver line is what is triggering the error)


Version: 1.22.0
Severity: minor

Details

Reference
bz49117

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 1:46 AM
bzimport set Reference to bz49117.
bzimport added a subscriber: Unknown Object (MLST).

GitInfo uses PHP's parse_ini_file() to parse git's config file, and that file is not an .ini file (even if it's pretty close). I think the exact format is documented in git's manpages, if we want to implement it fully instead of just suppressing the error.

Reusing parse_ini_file() to parse git config also leads to bug 39825.