gitlab-org--gitlab-foss/lib/gitlab/git.rb

58 lines
1.1 KiB
Ruby
Raw Normal View History

module Gitlab
module Git
BLANK_SHA = ('0' * 40).freeze
2015-11-02 18:02:08 +00:00
TAG_REF_PREFIX = "refs/tags/".freeze
BRANCH_REF_PREFIX = "refs/heads/".freeze
class << self
def ref_name(ref)
ref.gsub(/\Arefs\/(tags|heads)\//, '')
end
def branch_name(ref)
ref = ref.to_s
if self.branch_ref?(ref)
self.ref_name(ref)
else
nil
end
end
def committer_hash(email:, name:)
2016-09-20 16:07:52 +00:00
return if email.nil? || name.nil?
{
email: email,
name: name,
time: Time.now
}
end
def tag_name(ref)
ref = ref.to_s
if self.tag_ref?(ref)
self.ref_name(ref)
else
nil
end
end
def tag_ref?(ref)
ref.start_with?(TAG_REF_PREFIX)
end
def branch_ref?(ref)
ref.start_with?(BRANCH_REF_PREFIX)
end
def blank_ref?(ref)
ref == BLANK_SHA
end
2015-12-15 01:30:55 +00:00
def version
Gitlab::VersionInfo.parse(Gitlab::Popen.popen(%W(#{Gitlab.config.git.bin_path} --version)).first)
end
end
end
end