Cache head commit and head tree

This commit is contained in:
Dmitriy Zaporozhets 2015-03-21 13:45:08 -07:00
parent c378d20c84
commit d96098e966
1 changed files with 10 additions and 2 deletions

View File

@ -248,12 +248,20 @@ class Repository
end
def head_commit
commit(self.root_ref)
@head_commit ||= commit(self.root_ref)
end
def head_tree
@head_tree ||= Tree.new(self, head_commit.sha, nil)
end
def tree(sha = :head, path = nil)
if sha == :head
sha = head_commit.sha
if path.nil?
return head_tree
else
sha = head_commit.sha
end
end
Tree.new(self, sha, path)