]> git.wh0rd.org - tt-rss.git/commitdiff
version: do not hardcode master branch
authorAndrew Dolgov <noreply@fakecake.org>
Wed, 23 Mar 2016 16:08:38 +0000 (19:08 +0300)
committerAndrew Dolgov <noreply@fakecake.org>
Wed, 23 Mar 2016 16:08:38 +0000 (19:08 +0300)
include/version.php

index dfef9da57a656329979ac3310f40e2e24555e589..71cf3dc75a6c0adfd8a777018a198b3225b12d79 100644 (file)
@@ -5,18 +5,37 @@
                date_default_timezone_set('UTC');
                $root_dir = dirname(dirname(__FILE__));
 
-               if (is_dir("$root_dir/.git") && file_exists("$root_dir/.git/refs/heads/master")) {
+               if (is_dir("$root_dir/.git") && file_exists("$root_dir/.git/HEAD")) {
+                       $head = trim(file_get_contents("$root_dir/.git/HEAD"));
 
-                       $suffix = substr(trim(file_get_contents("$root_dir/.git/refs/heads/master")), 0, 7);
-                       $timestamp = filemtime("$root_dir/.git/refs/heads/master");
+                       if ($head) {
+                               $matches = array();
 
-                       define("GIT_VERSION_HEAD", $suffix);
-                       define("GIT_VERSION_TIMESTAMP", $timestamp);
+                               if (preg_match("/^ref: (.*)/", $head, $matches)) {
+                                       $ref = $matches[1];
 
-                       return VERSION_STATIC . " ($suffix)";
-               } else {
-                       return VERSION_STATIC;
+                                       $suffix = substr(trim(file_get_contents("$root_dir/.git/$ref")), 0, 7);
+                                       $timestamp = filemtime("$root_dir/.git/$ref");
+
+                                       define("GIT_VERSION_HEAD", $suffix);
+                                       define("GIT_VERSION_TIMESTAMP", $timestamp);
+
+                                       return VERSION_STATIC . " ($suffix)";
+
+                               } else {
+                                       $suffix = trim($head, 0, 7);
+                                       $timestamp = filemtime("$root_dir/.git/HEAD");
+
+                                       define("GIT_VERSION_HEAD", $suffix);
+                                       define("GIT_VERSION_TIMESTAMP", $timestamp);
+
+                                       return VERSION_STATIC . " ($suffix)";
+                               }
+                       }
                }
+
+               return VERSION_STATIC;
+
        }
 
        define('VERSION', get_version());