GitInfo: Suppress some wrong warnings
authorKunal Mehta <legoktm@gmail.com>
Fri, 7 Feb 2014 02:38:25 +0000 (18:38 -0800)
committerKunal Mehta <legoktm@gmail.com>
Fri, 7 Feb 2014 02:38:25 +0000 (18:38 -0800)
It's possible to have a ')' in a .git/config file, but
parse_ini_file will claim that's invalid and display a warning.

Also prevent another warning from occurring if the parse_ini_file
failed and $configArray is null.

Change-Id: Iba54220be266cb885e83cddfa6c8e9782aa77d01

includes/GitInfo.php

index 1f465c7..877c2d2 100644 (file)
@@ -169,13 +169,15 @@ class GitInfo {
                        return false;
                }
 
+               wfSuppressWarnings();
                $configArray = parse_ini_file( $config, true );
+               wfRestoreWarnings();
                $remote = false;
 
                // Use the "origin" remote repo if available or any other repo if not.
                if ( isset( $configArray['remote origin'] ) ) {
                        $remote = $configArray['remote origin'];
-               } else {
+               } elseif ( is_array( $configArray ) ) {
                        foreach ( $configArray as $sectionName => $sectionConf ) {
                                if ( substr( $sectionName, 0, 6 ) == 'remote' ) {
                                        $remote = $sectionConf;