summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2016-03-23 19:08:38 +0300
committerAndrew Dolgov <[email protected]>2016-03-23 19:08:38 +0300
commit7843453c00d5cb5954c9674a9f08008224e27d1e (patch)
treee4bb3ccb08af7439d1e8563073cd0e7ab47fccc0 /include
parentb6b5554db4e6a04a5b6be9c8edd9016e3e4c4919 (diff)
version: do not hardcode master branch
Diffstat (limited to 'include')
-rw-r--r--include/version.php35
1 files changed, 27 insertions, 8 deletions
diff --git a/include/version.php b/include/version.php
index dfef9da57..71cf3dc75 100644
--- a/include/version.php
+++ b/include/version.php
@@ -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());