diff --git a/hwe/sammo/VersionGitDynamic.php b/hwe/sammo/VersionGitDynamic.php index 910b9918..cba19e0a 100644 --- a/hwe/sammo/VersionGitDynamic.php +++ b/hwe/sammo/VersionGitDynamic.php @@ -6,12 +6,26 @@ class VersionGitDynamic { static function getVersion() { + $versionTokens = []; + $command = 'git describe --long --tags'; exec($command, $output); if (is_array($output)) { - $output = join('', $output); + $versionTokens[] = trim(join('', $output)); } - return trim($output); + + $command = 'git branch --contains HEAD'; + exec($command, $output); + if (is_array($output)) { + if (count($output)) { + $output = $output[1]; + $versionTokens[] = trim($output, " \t\n\r\0\x0b*"); + } else { + $versionTokens[] = 'unknown'; + } + } + + return join('-', $versionTokens); } static function getHash() diff --git a/j_updateServer.php b/j_updateServer.php index 79d129ce..53dc3568 100644 --- a/j_updateServer.php +++ b/j_updateServer.php @@ -7,6 +7,8 @@ set_time_limit(600); function getVersion($target = null) { + $versionTokens = []; + if ($target) { $command = sprintf('git describe %s --long --tags', escapeshellarg($target)); } else { @@ -14,9 +16,26 @@ function getVersion($target = null) } exec($command, $output); if (is_array($output)) { - $output = join('', $output); + $versionTokens[] = trim(join('', $output)); } - return trim($output); + + if ($target) { + $command = sprintf('git branch --contains %s', escapeshellarg($target)); + } else { + $command = 'git branch --contains HEAD'; + } + exec($command, $output); + if (is_array($output)) { + if(count($output)){ + $output = $output[1]; + $versionTokens[] = trim($output, " \t\n\r\0\x0b*"); + } + else{ + $versionTokens[] = 'unknown'; + } + } + + return join('-', $versionTokens); } function getHash($target = 'HEAD')