VersionPress\Utils\SystemInfo::getGitInfo PHP Method

getGitInfo() public static method

Returns Git info
public static getGitInfo ( ) : array
return array
    public static function getGitInfo()
    {
        $gitBinary = VP_GIT_BINARY;
        $info = [];
        $process = new Process(ProcessUtils::escapeshellarg($gitBinary) . " --version");
        $process->run();
        $info['git-binary-as-configured'] = $gitBinary;
        $info['git-available'] = $process->getErrorOutput() === null || !strlen($process->getErrorOutput());
        if ($info['git-available'] === false) {
            $info['output'] = ['stdout' => trim($process->getOutput()), 'stderr' => trim($process->getErrorOutput())];
            $info['env-path'] = getenv('PATH');
            return $info;
        }
        $output = trim($process->getOutput());
        $match = Strings::match($output, "~git version (\\d[\\d\\.]+\\d).*~");
        $version = $match[1];
        $gitPath = "unknown";
        if ($gitBinary == "git") {
            $osSpecificWhereCommand = strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' ? "where" : "which";
            $process = new Process("{$osSpecificWhereCommand} git");
            $process->run();
            if ($process->isSuccessful()) {
                $gitPath = $process->getOutput();
            }
        } else {
            $gitPath = $gitBinary;
        }
        $info['git-version'] = $version;
        $info['git-binary-as-called-by-vp'] = $gitBinary;
        $info['git-full-path'] = $gitPath;
        $info['versionpress-min-required-version'] = RequirementsChecker::GIT_MINIMUM_REQUIRED_VERSION;
        $info['matches-min-required-version'] = RequirementsChecker::gitMatchesMinimumRequiredVersion($version);
        return $info;
    }