diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/git/ref.rb | 12 | ||||
-rw-r--r-- | lib/gitlab/git/repository.rb | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/lib/gitlab/git/ref.rb b/lib/gitlab/git/ref.rb index 37ef6836742..1bec44b4645 100644 --- a/lib/gitlab/git/ref.rb +++ b/lib/gitlab/git/ref.rb @@ -12,10 +12,6 @@ module Gitlab # when tag reference on other tag it can be tag sha attr_reader :target - # Dereferenced target - # Commit object to which the Ref points to - attr_reader :dereferenced_target - # Extract branch name from full ref path # # Ex. @@ -33,7 +29,7 @@ module Gitlab def initialize(repository, name, target) encode! name @name = name.gsub(/\Arefs\/(tags|heads)\//, '') - @dereferenced_target = Gitlab::Git::Commit.find(repository, target) + @repository = repository @target = if target.respond_to?(:oid) target.oid elsif target.respond_to?(:name) @@ -44,6 +40,12 @@ module Gitlab nil end end + + # Dereferenced target + # Commit object to which the Ref points to + def dereferenced_target + @dereferenced_target ||= Gitlab::Git::Commit.find(@repository, target) + end end end end diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 7068e68a855..7483b37c2bb 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -81,7 +81,7 @@ module Gitlab reload_rugged if force_reload rugged_ref = rugged.branches[name] - Gitlab::Git::Branch.new(self, rugged_ref.name, rugged_ref.target) if rugged_ref + Gitlab::Git::Branch.new(self, rugged_ref.name, rugged_ref.target_id) if rugged_ref end def local_branches |