Commit 4b75525e authored by Alejandro Rodríguez's avatar Alejandro Rodríguez

Refactor Gitlab::Git::Commit to include a repository

parent c47ae372
...@@ -55,7 +55,8 @@ class Commit ...@@ -55,7 +55,8 @@ class Commit
end end
def from_hash(hash, project) def from_hash(hash, project)
new(Gitlab::Git::Commit.new(hash), project) raw_commit = Gitlab::Git::Commit.new(project.repository.raw, hash)
new(raw_commit, project)
end end
def valid_hash?(key) def valid_hash?(key)
......
...@@ -282,9 +282,7 @@ class MergeRequestDiff < ActiveRecord::Base ...@@ -282,9 +282,7 @@ class MergeRequestDiff < ActiveRecord::Base
def load_commits def load_commits
commits = st_commits.presence || merge_request_diff_commits commits = st_commits.presence || merge_request_diff_commits
commits.map do |commit| commits.map { |commit| Commit.from_hash(commit.to_hash, project) }
Commit.new(Gitlab::Git::Commit.new(commit.to_hash), merge_request.source_project)
end
end end
def save_diffs def save_diffs
......
...@@ -64,6 +64,8 @@ class Repository ...@@ -64,6 +64,8 @@ class Repository
@raw_repository ||= initialize_raw_repository @raw_repository ||= initialize_raw_repository
end end
alias_method :raw, :raw_repository
# Return absolute path to repository # Return absolute path to repository
def path_to_repo def path_to_repo
@path_to_repo ||= File.expand_path( @path_to_repo ||= File.expand_path(
......
...@@ -54,7 +54,7 @@ module Gitlab ...@@ -54,7 +54,7 @@ module Gitlab
end end
def serialize_commit(event, commit, query) def serialize_commit(event, commit, query)
commit = Commit.new(Gitlab::Git::Commit.new(commit.to_hash), @project) commit = Commit.from_hash(commit.to_hash, @project)
AnalyticsCommitSerializer.new(project: @project, total_time: event['total_time']).represent(commit) AnalyticsCommitSerializer.new(project: @project, total_time: event['total_time']).represent(commit)
end end
......
...@@ -16,7 +16,7 @@ module Gitlab ...@@ -16,7 +16,7 @@ module Gitlab
def each def each
@blames.each do |blame| @blames.each do |blame|
yield( yield(
Gitlab::Git::Commit.new(blame.commit), Gitlab::Git::Commit.new(@repo, blame.commit),
blame.line blame.line
) )
end end
......
...@@ -51,7 +51,7 @@ module Gitlab ...@@ -51,7 +51,7 @@ module Gitlab
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/321 # Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/321
def find(repo, commit_id = "HEAD") def find(repo, commit_id = "HEAD")
return commit_id if commit_id.is_a?(Gitlab::Git::Commit) return commit_id if commit_id.is_a?(Gitlab::Git::Commit)
return decorate(commit_id) if commit_id.is_a?(Rugged::Commit) return decorate(repo, commit_id) if commit_id.is_a?(Rugged::Commit)
obj = if commit_id.is_a?(String) obj = if commit_id.is_a?(String)
repo.rev_parse_target(commit_id) repo.rev_parse_target(commit_id)
...@@ -61,7 +61,7 @@ module Gitlab ...@@ -61,7 +61,7 @@ module Gitlab
return nil unless obj.is_a?(Rugged::Commit) return nil unless obj.is_a?(Rugged::Commit)
decorate(obj) decorate(repo, obj)
rescue Rugged::ReferenceError, Rugged::InvalidError, Rugged::ObjectError, Gitlab::Git::Repository::NoRepository rescue Rugged::ReferenceError, Rugged::InvalidError, Rugged::ObjectError, Gitlab::Git::Repository::NoRepository
nil nil
end end
...@@ -102,7 +102,7 @@ module Gitlab ...@@ -102,7 +102,7 @@ module Gitlab
if is_enabled if is_enabled
repo.gitaly_commit_client.between(base, head) repo.gitaly_commit_client.between(base, head)
else else
repo.rugged_commits_between(base, head).map { |c| decorate(c) } repo.rugged_commits_between(base, head).map { |c| decorate(repo, c) }
end end
end end
rescue Rugged::ReferenceError rescue Rugged::ReferenceError
...@@ -169,7 +169,7 @@ module Gitlab ...@@ -169,7 +169,7 @@ module Gitlab
offset = actual_options[:skip] offset = actual_options[:skip]
limit = actual_options[:max_count] limit = actual_options[:max_count]
walker.each(offset: offset, limit: limit) do |commit| walker.each(offset: offset, limit: limit) do |commit|
commits.push(decorate(commit)) commits.push(decorate(repo, commit))
end end
walker.reset walker.reset
...@@ -183,8 +183,8 @@ module Gitlab ...@@ -183,8 +183,8 @@ module Gitlab
Gitlab::GitalyClient::CommitService.new(repo).find_all_commits(options) Gitlab::GitalyClient::CommitService.new(repo).find_all_commits(options)
end end
def decorate(commit, ref = nil) def decorate(repository, commit, ref = nil)
Gitlab::Git::Commit.new(commit, ref) Gitlab::Git::Commit.new(repository, commit, ref)
end end
# Returns a diff object for the changes introduced by +rugged_commit+. # Returns a diff object for the changes introduced by +rugged_commit+.
...@@ -231,7 +231,7 @@ module Gitlab ...@@ -231,7 +231,7 @@ module Gitlab
end end
end end
def initialize(raw_commit, head = nil) def initialize(repository, raw_commit, head = nil)
raise "Nil as raw commit passed" unless raw_commit raise "Nil as raw commit passed" unless raw_commit
case raw_commit case raw_commit
...@@ -239,12 +239,13 @@ module Gitlab ...@@ -239,12 +239,13 @@ module Gitlab
init_from_hash(raw_commit) init_from_hash(raw_commit)
when Rugged::Commit when Rugged::Commit
init_from_rugged(raw_commit) init_from_rugged(raw_commit)
when Gitlab::GitalyClient::Commit when Gitaly::GitCommit
init_from_gitaly(raw_commit) init_from_gitaly(raw_commit)
else else
raise "Invalid raw commit type: #{raw_commit.class}" raise "Invalid raw commit type: #{raw_commit.class}"
end end
@repository = repository
@head = head @head = head
end end
...@@ -319,14 +320,7 @@ module Gitlab ...@@ -319,14 +320,7 @@ module Gitlab
end end
def parents def parents
case raw_commit parent_ids.map { |oid| self.class.find(@repository, oid) }.compact
when Rugged::Commit
raw_commit.parents.map { |c| Gitlab::Git::Commit.new(c) }
when Gitlab::GitalyClient::Commit
parent_ids.map { |oid| self.class.find(raw_commit.repository, oid) }.compact
else
raise NotImplementedError, "commit source doesn't support #parents"
end
end end
def stats def stats
......
...@@ -28,7 +28,6 @@ module Gitlab ...@@ -28,7 +28,6 @@ module Gitlab
@limits = self.class.collection_limits(options) @limits = self.class.collection_limits(options)
@enforce_limits = !!options.fetch(:limits, true) @enforce_limits = !!options.fetch(:limits, true)
@expanded = !!options.fetch(:expanded, true) @expanded = !!options.fetch(:expanded, true)
@from_gitaly = options.fetch(:from_gitaly, false)
@line_count = 0 @line_count = 0
@byte_count = 0 @byte_count = 0
...@@ -44,7 +43,7 @@ module Gitlab ...@@ -44,7 +43,7 @@ module Gitlab
return if @iterator.nil? return if @iterator.nil?
Gitlab::GitalyClient.migrate(:commit_raw_diffs) do |is_enabled| Gitlab::GitalyClient.migrate(:commit_raw_diffs) do |is_enabled|
if is_enabled && @from_gitaly if is_enabled && @iterator.is_a?(Gitlab::GitalyClient::DiffStitcher)
each_gitaly_patch(&block) each_gitaly_patch(&block)
else else
each_rugged_patch(&block) each_rugged_patch(&block)
......
...@@ -321,7 +321,7 @@ module Gitlab ...@@ -321,7 +321,7 @@ module Gitlab
options[:limit] ||= 0 options[:limit] ||= 0
options[:offset] ||= 0 options[:offset] ||= 0
raw_log(options).map { |c| Commit.decorate(c) } raw_log(options).map { |c| Commit.decorate(self, c) }
end end
def count_commits(options) def count_commits(options)
......
module Gitlab
module GitalyClient
class Commit
attr_reader :repository, :gitaly_commit
delegate :id, :subject, :body, :author, :committer, :parent_ids, to: :gitaly_commit
def initialize(repository, gitaly_commit)
@repository = repository
@gitaly_commit = gitaly_commit
end
end
end
end
...@@ -107,8 +107,7 @@ module Gitlab ...@@ -107,8 +107,7 @@ module Gitlab
gitaly_commit = GitalyClient.call(@repository.storage, :commit_service, :last_commit_for_path, request).commit gitaly_commit = GitalyClient.call(@repository.storage, :commit_service, :last_commit_for_path, request).commit
return unless gitaly_commit return unless gitaly_commit
commit = GitalyClient::Commit.new(@repository, gitaly_commit) Gitlab::Git::Commit.new(@repository, gitaly_commit)
Gitlab::Git::Commit.new(commit)
end end
def between(from, to) def between(from, to)
...@@ -170,7 +169,7 @@ module Gitlab ...@@ -170,7 +169,7 @@ module Gitlab
private private
def commit_diff_request_params(commit, options = {}) def commit_diff_request_params(commit, options = {})
parent_id = commit.parents[0]&.id || EMPTY_TREE_ID parent_id = commit.parent_ids.first || EMPTY_TREE_ID
{ {
repository: @gitaly_repo, repository: @gitaly_repo,
...@@ -183,8 +182,7 @@ module Gitlab ...@@ -183,8 +182,7 @@ module Gitlab
def consume_commits_response(response) def consume_commits_response(response)
response.flat_map do |message| response.flat_map do |message|
message.commits.map do |gitaly_commit| message.commits.map do |gitaly_commit|
commit = GitalyClient::Commit.new(@repository, gitaly_commit) Gitlab::Git::Commit.new(@repository, gitaly_commit)
Gitlab::Git::Commit.new(commit)
end end
end end
end end
......
...@@ -16,8 +16,7 @@ module Gitlab ...@@ -16,8 +16,7 @@ module Gitlab
response.flat_map do |message| response.flat_map do |message|
message.branches.map do |branch| message.branches.map do |branch|
gitaly_commit = GitalyClient::Commit.new(@repository, branch.target) target_commit = Gitlab::Git::Commit.decorate(@repository, branch.target)
target_commit = Gitlab::Git::Commit.decorate(gitaly_commit)
Gitlab::Git::Branch.new(@repository, branch.name, branch.target.id, target_commit) Gitlab::Git::Branch.new(@repository, branch.name, branch.target.id, target_commit)
end end
end end
...@@ -102,8 +101,7 @@ module Gitlab ...@@ -102,8 +101,7 @@ module Gitlab
response.flat_map do |message| response.flat_map do |message|
message.tags.map do |gitaly_tag| message.tags.map do |gitaly_tag|
if gitaly_tag.target_commit.present? if gitaly_tag.target_commit.present?
commit = GitalyClient::Commit.new(@repository, gitaly_tag.target_commit) gitaly_commit = Gitlab::Git::Commit.decorate(@repository, gitaly_tag.target_commit)
gitaly_commit = Gitlab::Git::Commit.new(commit)
end end
Gitlab::Git::Tag.new( Gitlab::Git::Tag.new(
...@@ -141,7 +139,7 @@ module Gitlab ...@@ -141,7 +139,7 @@ module Gitlab
committer_email: response.commit_committer.email.dup committer_email: response.commit_committer.email.dup
} }
Gitlab::Git::Commit.decorate(hash) Gitlab::Git::Commit.decorate(@repository, hash)
end end
end end
end end
......
...@@ -2,7 +2,7 @@ require "spec_helper" ...@@ -2,7 +2,7 @@ require "spec_helper"
describe Gitlab::Git::Commit, seed_helper: true do describe Gitlab::Git::Commit, seed_helper: true do
let(:repository) { Gitlab::Git::Repository.new('default', TEST_REPO_PATH) } let(:repository) { Gitlab::Git::Repository.new('default', TEST_REPO_PATH) }
let(:commit) { Gitlab::Git::Commit.find(repository, SeedRepo::Commit::ID) } let(:commit) { described_class.find(repository, SeedRepo::Commit::ID) }
let(:rugged_commit) do let(:rugged_commit) do
repository.rugged.lookup(SeedRepo::Commit::ID) repository.rugged.lookup(SeedRepo::Commit::ID)
end end
...@@ -24,7 +24,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -24,7 +24,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
} }
@parents = [repo.head.target] @parents = [repo.head.target]
@gitlab_parents = @parents.map { |c| Gitlab::Git::Commit.decorate(c) } @gitlab_parents = @parents.map { |c| described_class.decorate(repository, c) }
@tree = @parents.first.tree @tree = @parents.first.tree
sha = Rugged::Commit.create( sha = Rugged::Commit.create(
...@@ -38,7 +38,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -38,7 +38,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
) )
@raw_commit = repo.lookup(sha) @raw_commit = repo.lookup(sha)
@commit = Gitlab::Git::Commit.new(@raw_commit) @commit = described_class.new(repository, @raw_commit)
end end
it { expect(@commit.short_id).to eq(@raw_commit.oid[0..10]) } it { expect(@commit.short_id).to eq(@raw_commit.oid[0..10]) }
...@@ -91,7 +91,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -91,7 +91,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
committer: committer committer: committer
) )
end end
let(:commit) { described_class.new(Gitlab::GitalyClient::Commit.new(repository, gitaly_commit)) } let(:commit) { described_class.new(repository, gitaly_commit) }
it { expect(commit.short_id).to eq(id[0..10]) } it { expect(commit.short_id).to eq(id[0..10]) }
it { expect(commit.id).to eq(id) } it { expect(commit.id).to eq(id) }
...@@ -113,45 +113,45 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -113,45 +113,45 @@ describe Gitlab::Git::Commit, seed_helper: true do
context 'Class methods' do context 'Class methods' do
describe '.find' do describe '.find' do
it "should return first head commit if without params" do it "should return first head commit if without params" do
expect(Gitlab::Git::Commit.last(repository).id).to eq( expect(described_class.last(repository).id).to eq(
repository.rugged.head.target.oid repository.rugged.head.target.oid
) )
end end
it "should return valid commit" do it "should return valid commit" do
expect(Gitlab::Git::Commit.find(repository, SeedRepo::Commit::ID)).to be_valid_commit expect(described_class.find(repository, SeedRepo::Commit::ID)).to be_valid_commit
end end
it "should return valid commit for tag" do it "should return valid commit for tag" do
expect(Gitlab::Git::Commit.find(repository, 'v1.0.0').id).to eq('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') expect(described_class.find(repository, 'v1.0.0').id).to eq('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9')
end end
it "should return nil for non-commit ids" do it "should return nil for non-commit ids" do
blob = Gitlab::Git::Blob.find(repository, SeedRepo::Commit::ID, "files/ruby/popen.rb") blob = Gitlab::Git::Blob.find(repository, SeedRepo::Commit::ID, "files/ruby/popen.rb")
expect(Gitlab::Git::Commit.find(repository, blob.id)).to be_nil expect(described_class.find(repository, blob.id)).to be_nil
end end
it "should return nil for parent of non-commit object" do it "should return nil for parent of non-commit object" do
blob = Gitlab::Git::Blob.find(repository, SeedRepo::Commit::ID, "files/ruby/popen.rb") blob = Gitlab::Git::Blob.find(repository, SeedRepo::Commit::ID, "files/ruby/popen.rb")
expect(Gitlab::Git::Commit.find(repository, "#{blob.id}^")).to be_nil expect(described_class.find(repository, "#{blob.id}^")).to be_nil
end end
it "should return nil for nonexisting ids" do it "should return nil for nonexisting ids" do
expect(Gitlab::Git::Commit.find(repository, "+123_4532530XYZ")).to be_nil expect(described_class.find(repository, "+123_4532530XYZ")).to be_nil
end end
context 'with broken repo' do context 'with broken repo' do
let(:repository) { Gitlab::Git::Repository.new('default', TEST_BROKEN_REPO_PATH) } let(:repository) { Gitlab::Git::Repository.new('default', TEST_BROKEN_REPO_PATH) }
it 'returns nil' do it 'returns nil' do
expect(Gitlab::Git::Commit.find(repository, SeedRepo::Commit::ID)).to be_nil expect(described_class.find(repository, SeedRepo::Commit::ID)).to be_nil
end end
end end
end end
describe '.last_for_path' do describe '.last_for_path' do
context 'no path' do context 'no path' do
subject { Gitlab::Git::Commit.last_for_path(repository, 'master') } subject { described_class.last_for_path(repository, 'master') }
describe '#id' do describe '#id' do
subject { super().id } subject { super().id }
...@@ -160,7 +160,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -160,7 +160,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
end end
context 'path' do context 'path' do
subject { Gitlab::Git::Commit.last_for_path(repository, 'master', 'files/ruby') } subject { described_class.last_for_path(repository, 'master', 'files/ruby') }
describe '#id' do describe '#id' do
subject { super().id } subject { super().id }
...@@ -169,7 +169,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -169,7 +169,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
end end
context 'ref + path' do context 'ref + path' do
subject { Gitlab::Git::Commit.last_for_path(repository, SeedRepo::Commit::ID, 'encoding') } subject { described_class.last_for_path(repository, SeedRepo::Commit::ID, 'encoding') }
describe '#id' do describe '#id' do
subject { super().id } subject { super().id }
...@@ -181,7 +181,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -181,7 +181,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
describe '.where' do describe '.where' do
context 'path is empty string' do context 'path is empty string' do
subject do subject do
commits = Gitlab::Git::Commit.where( commits = described_class.where(
repo: repository, repo: repository,
ref: 'master', ref: 'master',
path: '', path: '',
...@@ -199,7 +199,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -199,7 +199,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
context 'path is nil' do context 'path is nil' do
subject do subject do
commits = Gitlab::Git::Commit.where( commits = described_class.where(
repo: repository, repo: repository,
ref: 'master', ref: 'master',
path: nil, path: nil,
...@@ -217,7 +217,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -217,7 +217,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
context 'ref is branch name' do context 'ref is branch name' do
subject do subject do
commits = Gitlab::Git::Commit.where( commits = described_class.where(
repo: repository, repo: repository,
ref: 'master', ref: 'master',
path: 'files', path: 'files',
...@@ -237,7 +237,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -237,7 +237,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
context 'ref is commit id' do context 'ref is commit id' do
subject do subject do
commits = Gitlab::Git::Commit.where( commits = described_class.where(
repo: repository, repo: repository,
ref: "874797c3a73b60d2187ed6e2fcabd289ff75171e", ref: "874797c3a73b60d2187ed6e2fcabd289ff75171e",
path: 'files', path: 'files',
...@@ -257,7 +257,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -257,7 +257,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
context 'ref is tag' do context 'ref is tag' do
subject do subject do
commits = Gitlab::Git::Commit.where( commits = described_class.where(
repo: repository, repo: repository,
ref: 'v1.0.0', ref: 'v1.0.0',
path: 'files', path: 'files',
...@@ -278,7 +278,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -278,7 +278,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
describe '.between' do describe '.between' do
subject do subject do
commits = Gitlab::Git::Commit.between(repository, SeedRepo::Commit::PARENT_ID, SeedRepo::Commit::ID) commits = described_class.between(repository, SeedRepo::Commit::PARENT_ID, SeedRepo::Commit::ID)
commits.map { |c| c.id } commits.map { |c| c.id }
end end
...@@ -294,12 +294,12 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -294,12 +294,12 @@ describe Gitlab::Git::Commit, seed_helper: true do
it 'should return a return a collection of commits' do it 'should return a return a collection of commits' do
commits = described_class.find_all(repository) commits = described_class.find_all(repository)
expect(commits).to all( be_a_kind_of(Gitlab::Git::Commit) ) expect(commits).to all( be_a_kind_of(described_class) )
end end
context 'max_count' do context 'max_count' do
subject do subject do
commits = Gitlab::Git::Commit.find_all( commits = described_class.find_all(
repository, repository,
max_count: 50 max_count: 50
) )
...@@ -322,7 +322,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -322,7 +322,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
context 'ref + max_count + skip' do context 'ref + max_count + skip' do
subject do subject do
commits = Gitlab::Git::Commit.find_all( commits = described_class.find_all(
repository, repository,
ref: 'master', ref: 'master',
max_count: 50, max_count: 50,
...@@ -374,7 +374,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -374,7 +374,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
end end
describe '#init_from_rugged' do describe '#init_from_rugged' do
let(:gitlab_commit) { Gitlab::Git::Commit.new(rugged_commit) } let(:gitlab_commit) { described_class.new(repository, rugged_commit) }
subject { gitlab_commit } subject { gitlab_commit }
describe '#id' do describe '#id' do
...@@ -384,7 +384,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -384,7 +384,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
end end
describe '#init_from_hash' do describe '#init_from_hash' do
let(:commit) { Gitlab::Git::Commit.new(sample_commit_hash) } let(:commit) { described_class.new(repository, sample_commit_hash) }
subject { commit } subject { commit }
describe '#id' do describe '#id' do
...@@ -451,7 +451,7 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -451,7 +451,7 @@ describe Gitlab::Git::Commit, seed_helper: true do
end end
describe '#ref_names' do describe '#ref_names' do
let(:commit) { Gitlab::Git::Commit.find(repository, 'master') } let(:commit) { described_class.find(repository, 'master') }
subject { commit.ref_names(repository) } subject { commit.ref_names(repository) }
it 'has 1 element' do it 'has 1 element' do
......
...@@ -511,17 +511,22 @@ describe Gitlab::Git::Repository, seed_helper: true do ...@@ -511,17 +511,22 @@ describe Gitlab::Git::Repository, seed_helper: true do
end end
describe "#log" do describe "#log" do
commit_with_old_name = nil let(:commit_with_old_name) do
commit_with_new_name = nil Gitlab::Git::Commit.decorate(repository, @commit_with_old_name_id)
rename_commit = nil end
let(:commit_with_new_name) do
Gitlab::Git::Commit.decorate(repository, @commit_with_new_name_id)
end
let(:rename_commit) do
Gitlab::Git::Commit.decorate(repository, @rename_commit_id)
end
before(:context) do before(:context) do
# Add new commits so that there's a renamed file in the commit history # Add new commits so that there's a renamed file in the commit history
repo = Gitlab::Git::Repository.new('default', TEST_REPO_PATH).rugged repo = Gitlab::Git::Repository.new('default', TEST_REPO_PATH).rugged
@commit_with_old_name_id = new_commit_edit_old_file(repo)
commit_with_old_name = Gitlab::Git::Commit.decorate(new_commit_edit_old_file(repo)) @rename_commit_id = new_commit_move_file(repo)
rename_commit = Gitlab::Git::Commit.decorate(new_commit_move_file(repo)) @commit_with_new_name_id = new_commit_edit_new_file(repo)
commit_with_new_name = Gitlab::Git::Commit.decorate(new_commit_edit_new_file(repo))
end end
after(:context) do after(:context) do
......
...@@ -30,7 +30,7 @@ describe Gitlab::GitalyClient::CommitService do ...@@ -30,7 +30,7 @@ describe Gitlab::GitalyClient::CommitService do
context 'when a commit does not have a parent' do context 'when a commit does not have a parent' do
it 'sends an RPC request with empty tree ref as left commit' do it 'sends an RPC request with empty tree ref as left commit' do
initial_commit = project.commit('1a0b36b3cdad1d2ee32457c102a8c0b7056fa863') initial_commit = project.commit('1a0b36b3cdad1d2ee32457c102a8c0b7056fa863').raw
request = Gitaly::CommitDiffRequest.new( request = Gitaly::CommitDiffRequest.new(
repository: repository_message, repository: repository_message,
left_commit_id: '4b825dc642cb6eb9a060e54bf8d69288fbee4904', left_commit_id: '4b825dc642cb6eb9a060e54bf8d69288fbee4904',
......
...@@ -33,7 +33,6 @@ describe Commit do ...@@ -33,7 +33,6 @@ describe Commit do
describe '#to_reference' do describe '#to_reference' do
let(:project) { create(:project, :repository, path: 'sample-project') } let(:project) { create(:project, :repository, path: 'sample-project') }
let(:commit) { project.commit }
it 'returns a String reference to the object' do it 'returns a String reference to the object' do
expect(commit.to_reference).to eq commit.id expect(commit.to_reference).to eq commit.id
...@@ -47,7 +46,6 @@ describe Commit do ...@@ -47,7 +46,6 @@ describe Commit do
describe '#reference_link_text' do describe '#reference_link_text' do
let(:project) { create(:project, :repository, path: 'sample-project') } let(:project) { create(:project, :repository, path: 'sample-project') }
let(:commit) { project.commit }
it 'returns a String reference to the object' do it 'returns a String reference to the object' do
expect(commit.reference_link_text).to eq commit.short_id expect(commit.reference_link_text).to eq commit.short_id
......
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