diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index 5ca9cf41e..c112ed8f0 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -55,6 +55,7 @@ $config['dot'] = "/usr/bin/dot"; $config['unflatten'] = "/usr/bin/unflatten"; $config['neato'] = "/usr/bin/neato"; $config['sfdp'] = "/usr/bin/sfdp"; +$config['svn'] = "/usr/bin/svn"; ### Memcached - Keep immediate statistics diff --git a/includes/static-config.php b/includes/static-config.php index 2da96b651..69dacc122 100644 --- a/includes/static-config.php +++ b/includes/static-config.php @@ -1096,11 +1096,20 @@ if (isset($config['enable_printers']) && $config['enable_printers']) $config['version'] = "0.11.5.2245"; -if (file_exists('.svn/entries')) +if (file_exists($config['install_dir'] . '/.svn/entries')) { - $svn = File('.svn/entries'); - $svn_rev = trim($svn[3]); - list($svn_date) = explode("T", trim($svn[9])); + $svn = File($config['install_dir'] . '/.svn/entries'); + if ((int)$svn[0] < 12) + { + // SVN version < 1.7 + $svn_rev = trim($svn[3]); + list($svn_date) = explode("T", trim($svn[9])); + } else { + // SVN version >= 1.7 + $xml = simplexml_load_string(shell_exec($config['svn'] . ' info --xml')); + $svn_rev = $xml->entry->commit->attributes()->revision; + $svn_date = $xml->entry->commit->date; + } list($svn_year, $svn_month, $svn_day) = explode("-", $svn_date); $config['version'] = "0." . ($svn_year-2000) . "." . ($svn_month+0) . "." . $svn_rev; } else {