summaryrefslogtreecommitdiff
path: root/lib/gitlab.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-05-24 09:57:54 +0200
committerRémy Coutable <remy@rymai.me>2018-05-24 10:14:01 +0200
commitd50a80a282b2ca145841774f4be154a977cccfd8 (patch)
treeb8b44017967ecb99196ec5cfcf4b827af0af1b8a /lib/gitlab.rb
parentc52db71e36ee70c4c5be80b029cf4362f28e3667 (diff)
downloadgitlab-ce-d50a80a282b2ca145841774f4be154a977cccfd8.tar.gz
Replace Gitlab::REVISION with Gitlab.revision and handle installations without a .git directory46600-fix-gitlab-revision-when-not-in-git-repo
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'lib/gitlab.rb')
-rw-r--r--lib/gitlab.rb17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/gitlab.rb b/lib/gitlab.rb
index 31119471b8e..a129746e2c6 100644
--- a/lib/gitlab.rb
+++ b/lib/gitlab.rb
@@ -13,11 +13,26 @@ module Gitlab
@_migrations_hash ||= Digest::MD5.hexdigest(ActiveRecord::Migrator.get_all_versions.to_s)
end
+ def self.revision
+ @_revision ||= begin
+ if File.exist?(root.join("REVISION"))
+ File.read(root.join("REVISION")).strip.freeze
+ else
+ result = Gitlab::Popen.popen_with_detail(%W[#{config.git.bin_path} log --pretty=format:%h -n 1])
+
+ if result.status.success?
+ result.stdout.chomp.freeze
+ else
+ "Unknown".freeze
+ end
+ end
+ end
+ end
+
COM_URL = 'https://gitlab.com'.freeze
APP_DIRS_PATTERN = %r{^/?(app|config|ee|lib|spec|\(\w*\))}
SUBDOMAIN_REGEX = %r{\Ahttps://[a-z0-9]+\.gitlab\.com\z}
VERSION = File.read(root.join("VERSION")).strip.freeze
- REVISION = Gitlab::Popen.popen(%W(#{config.git.bin_path} log --pretty=format:%h -n 1)).first.chomp.freeze
def self.com?
# Check `gl_subdomain?` as well to keep parity with gitlab.com