Commit f8a4a760 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

decorate commits in Gitlab::Git::repository with valid class

parent e91ff84d
......@@ -54,11 +54,11 @@ module Gitlab
repo.commits(root_ref).first
end
Commit.new(commit) if commit
decorate_commit(commit) if commit
end
def commits_with_refs(n = 20)
commits = repo.branches.map { |ref| Commit.new(ref.commit, ref) }
commits = repo.branches.map { |ref| decorate_commit(ref.commit, ref) }
commits.sort! do |x, y|
y.committed_date <=> x.committed_date
......@@ -74,11 +74,11 @@ module Gitlab
repo.commits(ref, limit, offset)
else
repo.commits(ref)
end.map{ |c| Commit.new(c) }
end.map{ |c| decorate_commit(c) }
end
def commits_between(from, to)
repo.commits_between(from, to).map { |c| Commit.new(c) }
repo.commits_between(from, to).map { |c| decorate_commit(c) }
end
def last_commit_for(ref, path = nil)
......@@ -190,6 +190,12 @@ module Gitlab
def cache_key(type)
"#{type}:#{path_with_namespace}"
end
protected
def decorate_commit(commit, ref = nil)
Gitlab::Git::Commit.new(commit, ref)
end
end
end
end
......@@ -82,6 +82,17 @@ describe Gitlab::Git::Repository do
end
end
describe "commits" do
subject do
commits = repository.commits('master', 'app', 3, 1)
commits.map { |c| c.id }
end
it { should have(3).elements }
it { should include("8716fc78f3c65bbf7bcf7b574febd583bc5d2812") }
it { should_not include("bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a") }
end
describe "commits_between" do
subject do
commits = repository.commits_between("3a4b4fb4cde7809f033822a171b9feae19d41fff",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment