Dont init repo on every create(:repo)

master
Dmitriy Zaporozhets 2013-04-01 17:27:44 +03:00
parent 541d899410
commit 9a26e9a0d6
7 changed files with 18 additions and 11 deletions

View File

@ -147,10 +147,6 @@ module CommitsHelper
protected protected
def no_commit_message
"--no commit message"
end
# Private: Returns a link to a person. If the person has a matching user and # Private: Returns a link to a person. If the person has a matching user and
# is a member of the current @project it will link to the team member page. # is a member of the current @project it will link to the team member page.
# Otherwise it will link to the person email as specified in the commit. # Otherwise it will link to the person email as specified in the commit.

View File

@ -90,13 +90,17 @@ class GollumWiki
private private
def create_repo! def create_repo!
if gitlab_shell.add_repository(path_with_namespace) if init_repo(path_with_namespace)
Gollum::Wiki.new(path_to_repo) Gollum::Wiki.new(path_to_repo)
else else
raise CouldNotCreateWikiError raise CouldNotCreateWikiError
end end
end end
def init_repo(path_with_namespace)
gitlab_shell.add_repository(path_with_namespace)
end
def commit_details(action, message = nil, title = nil) def commit_details(action, message = nil, title = nil)
commit_message = message || default_message(action, title) commit_message = message || default_message(action, title)

View File

@ -144,6 +144,10 @@ module Gitlab
rescue rescue
true true
end end
def no_commit_message
"--no commit message"
end
end end
end end
end end

View File

@ -86,9 +86,9 @@ FactoryGirl.define do
target_branch "master" # pretend bcf03b5d~3 target_branch "master" # pretend bcf03b5d~3
source_branch "stable" # pretend bcf03b5d source_branch "stable" # pretend bcf03b5d
st_commits do st_commits do
[Commit.new(project.repo.commit('bcf03b5d')), [Commit.new(project.repository.commit('bcf03b5d')),
Commit.new(project.repo.commit('bcf03b5d~1')), Commit.new(project.repository.commit('bcf03b5d~1')),
Commit.new(project.repo.commit('bcf03b5d~2'))] Commit.new(project.repository.commit('bcf03b5d~2'))]
end end
st_diffs do st_diffs do
project.repo.diff("bcf03b5d~3", "bcf03b5d") project.repo.diff("bcf03b5d~3", "bcf03b5d")
@ -120,6 +120,7 @@ FactoryGirl.define do
factory :note_on_merge_request_diff, traits: [:on_merge_request, :on_diff] factory :note_on_merge_request_diff, traits: [:on_merge_request, :on_diff]
trait :on_commit do trait :on_commit do
project factory: :project_with_code
commit_id "bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a" commit_id "bcf03b5de6c33f3869ef70d68cf06e679d1d7f9a"
noteable_type "Commit" noteable_type "Commit"
end end
@ -129,6 +130,7 @@ FactoryGirl.define do
end end
trait :on_merge_request do trait :on_merge_request do
project factory: :project_with_code
noteable_id 1 noteable_id 1
noteable_type "MergeRequest" noteable_type "MergeRequest"
end end

View File

@ -1,7 +1,7 @@
require 'spec_helper' require 'spec_helper'
describe Commit do describe Commit do
let(:commit) { create(:project).repository.commit } let(:commit) { create(:project_with_code).repository.commit }
describe '#title' do describe '#title' do

View File

@ -81,7 +81,7 @@ describe GollumWiki do
end end
it "raises CouldNotCreateWikiError if it can't create the wiki repository" do it "raises CouldNotCreateWikiError if it can't create the wiki repository" do
Gitlab::Shell.any_instance.stub(:add_repository).and_return(false) GollumWiki.any_instance.stub(:init_repo).and_return(false)
expect { GollumWiki.new(project, user).wiki }.to raise_exception(GollumWiki::CouldNotCreateWikiError) expect { GollumWiki.new(project, user).wiki }.to raise_exception(GollumWiki::CouldNotCreateWikiError)
end end
end end

View File

@ -17,11 +17,12 @@ module TestEnv
repos_path = Rails.root.join('tmp', 'test-git-base-path') repos_path = Rails.root.join('tmp', 'test-git-base-path')
Gitlab.config.gitlab_shell.stub(repos_path: repos_path) Gitlab.config.gitlab_shell.stub(repos_path: repos_path)
Gitlab::Shell.any_instance.stub(:add_repository) do |path| GollumWiki.any_instance.stub(:init_repo) do |path|
create_temp_repo(File.join(repos_path, "#{path}.git")) create_temp_repo(File.join(repos_path, "#{path}.git"))
end end
Gitlab::Shell.any_instance.stub( Gitlab::Shell.any_instance.stub(
add_repository: true,
mv_repository: true, mv_repository: true,
remove_repository: true, remove_repository: true,
add_key: true, add_key: true,