Commit 265d624f authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'master' into improve-white-code-highlight

parents 57c7dafb b33d4bc2
...@@ -37,13 +37,12 @@ class FlowdockService < Service ...@@ -37,13 +37,12 @@ class FlowdockService < Service
end end
def execute(push_data) def execute(push_data)
repo_path = File.join(Gitlab.config.gitlab_shell.repos_path, "#{project.path_with_namespace}.git")
Flowdock::Git.post( Flowdock::Git.post(
push_data[:ref], push_data[:ref],
push_data[:before], push_data[:before],
push_data[:after], push_data[:after],
token: token, token: token,
repo: repo_path, repo: project.repository.path_to_repo,
repo_url: "#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}", repo_url: "#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}",
commit_url: "#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}/commit/%s", commit_url: "#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}/commit/%s",
diff_url: "#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}/compare/%s...%s", diff_url: "#{Gitlab.config.gitlab.url}/#{project.path_with_namespace}/compare/%s...%s",
......
...@@ -38,14 +38,13 @@ class GemnasiumService < Service ...@@ -38,14 +38,13 @@ class GemnasiumService < Service
end end
def execute(push_data) def execute(push_data)
repo_path = File.join(Gitlab.config.gitlab_shell.repos_path, "#{project.path_with_namespace}.git")
Gemnasium::GitlabService.execute( Gemnasium::GitlabService.execute(
ref: push_data[:ref], ref: push_data[:ref],
before: push_data[:before], before: push_data[:before],
after: push_data[:after], after: push_data[:after],
token: token, token: token,
api_key: api_key, api_key: api_key,
repo: repo_path repo: project.repository.path_to_repo
) )
end end
end end
...@@ -28,7 +28,7 @@ class GitlabCiService < CiService ...@@ -28,7 +28,7 @@ class GitlabCiService < CiService
end end
def commit_status_path(sha) def commit_status_path(sha)
project_url + "/builds/#{sha}/status.json?token=#{token}" project_url + "/commits/#{sha}/status.json?token=#{token}"
end end
def get_ci_build(sha) def get_ci_build(sha)
...@@ -55,7 +55,7 @@ class GitlabCiService < CiService ...@@ -55,7 +55,7 @@ class GitlabCiService < CiService
end end
def build_page(sha) def build_page(sha)
project_url + "/builds/#{sha}" project_url + "/commits/#{sha}"
end end
def builds_path def builds_path
......
...@@ -91,7 +91,7 @@ module Backup ...@@ -91,7 +91,7 @@ module Backup
protected protected
def path_to_repo(project) def path_to_repo(project)
File.join(repos_path, project.path_with_namespace + '.git') project.repository.path_to_repo
end end
def path_to_bundle(project) def path_to_bundle(project)
......
...@@ -16,8 +16,7 @@ module Gitlab ...@@ -16,8 +16,7 @@ module Gitlab
# add_repository("gitlab/gitlab-ci") # add_repository("gitlab/gitlab-ci")
# #
def add_repository(name) def add_repository(name)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, system gitlab_shell_projects_path, 'add-project', "#{name}.git"
'add-project', "#{name}.git"])
end end
# Import repository # Import repository
...@@ -28,8 +27,7 @@ module Gitlab ...@@ -28,8 +27,7 @@ module Gitlab
# import_repository("gitlab/gitlab-ci", "https://github.com/randx/six.git") # import_repository("gitlab/gitlab-ci", "https://github.com/randx/six.git")
# #
def import_repository(name, url) def import_repository(name, url)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'import-project', system gitlab_shell_projects_path, 'import-project', "#{name}.git", url, '240'
"#{name}.git", url, '240'])
end end
# Move repository # Move repository
...@@ -41,8 +39,7 @@ module Gitlab ...@@ -41,8 +39,7 @@ module Gitlab
# mv_repository("gitlab/gitlab-ci", "randx/gitlab-ci-new.git") # mv_repository("gitlab/gitlab-ci", "randx/gitlab-ci-new.git")
# #
def mv_repository(path, new_path) def mv_repository(path, new_path)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'mv-project', system gitlab_shell_projects_path, 'mv-project', "#{path}.git", "#{new_path}.git"
"#{path}.git", "#{new_path}.git"])
end end
# Update HEAD for repository # Update HEAD for repository
...@@ -54,8 +51,7 @@ module Gitlab ...@@ -54,8 +51,7 @@ module Gitlab
# update_repository_head("gitlab/gitlab-ci", "3-1-stable") # update_repository_head("gitlab/gitlab-ci", "3-1-stable")
# #
def update_repository_head(path, branch) def update_repository_head(path, branch)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'update-head', system gitlab_shell_projects_path, 'update-head', "#{path}.git", branch
"#{path}.git", branch])
end end
# Fork repository to new namespace # Fork repository to new namespace
...@@ -67,8 +63,7 @@ module Gitlab ...@@ -67,8 +63,7 @@ module Gitlab
# fork_repository("gitlab/gitlab-ci", "randx") # fork_repository("gitlab/gitlab-ci", "randx")
# #
def fork_repository(path, fork_namespace) def fork_repository(path, fork_namespace)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'fork-project', system gitlab_shell_projects_path, 'fork-project', "#{path}.git", fork_namespace
"#{path}.git", fork_namespace])
end end
# Remove repository from file system # Remove repository from file system
...@@ -79,8 +74,7 @@ module Gitlab ...@@ -79,8 +74,7 @@ module Gitlab
# remove_repository("gitlab/gitlab-ci") # remove_repository("gitlab/gitlab-ci")
# #
def remove_repository(name) def remove_repository(name)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, system gitlab_shell_projects_path, 'rm-project', "#{name}.git"
'rm-project', "#{name}.git"])
end end
# Add repository branch from passed ref # Add repository branch from passed ref
...@@ -93,8 +87,7 @@ module Gitlab ...@@ -93,8 +87,7 @@ module Gitlab
# add_branch("gitlab/gitlab-ci", "4-0-stable", "master") # add_branch("gitlab/gitlab-ci", "4-0-stable", "master")
# #
def add_branch(path, branch_name, ref) def add_branch(path, branch_name, ref)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'create-branch', system gitlab_shell_projects_path, 'create-branch', "#{path}.git", branch_name, ref
"#{path}.git", branch_name, ref])
end end
# Remove repository branch # Remove repository branch
...@@ -106,8 +99,7 @@ module Gitlab ...@@ -106,8 +99,7 @@ module Gitlab
# rm_branch("gitlab/gitlab-ci", "4-0-stable") # rm_branch("gitlab/gitlab-ci", "4-0-stable")
# #
def rm_branch(path, branch_name) def rm_branch(path, branch_name)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'rm-branch', system gitlab_shell_projects_path, 'rm-branch', "#{path}.git", branch_name
"#{path}.git", branch_name])
end end
# Add repository tag from passed ref # Add repository tag from passed ref
...@@ -125,7 +117,7 @@ module Gitlab ...@@ -125,7 +117,7 @@ module Gitlab
cmd = %W(#{gitlab_shell_path}/bin/gitlab-projects create-tag #{path}.git cmd = %W(#{gitlab_shell_path}/bin/gitlab-projects create-tag #{path}.git
#{tag_name} #{ref}) #{tag_name} #{ref})
cmd << message unless message.nil? || message.empty? cmd << message unless message.nil? || message.empty?
Gitlab::Utils.system_silent(cmd) system *cmd
end end
# Remove repository tag # Remove repository tag
...@@ -137,8 +129,7 @@ module Gitlab ...@@ -137,8 +129,7 @@ module Gitlab
# rm_tag("gitlab/gitlab-ci", "v4.0") # rm_tag("gitlab/gitlab-ci", "v4.0")
# #
def rm_tag(path, tag_name) def rm_tag(path, tag_name)
Gitlab::Utils.system_silent([gitlab_shell_projects_path, 'rm-tag', system gitlab_shell_projects_path, 'rm-tag', "#{path}.git", tag_name
"#{path}.git", tag_name])
end end
# Add new key to gitlab-shell # Add new key to gitlab-shell
...@@ -147,8 +138,7 @@ module Gitlab ...@@ -147,8 +138,7 @@ module Gitlab
# add_key("key-42", "sha-rsa ...") # add_key("key-42", "sha-rsa ...")
# #
def add_key(key_id, key_content) def add_key(key_id, key_content)
Gitlab::Utils.system_silent([gitlab_shell_keys_path, system gitlab_shell_keys_path, 'add-key', key_id, key_content
'add-key', key_id, key_content])
end end
# Batch-add keys to authorized_keys # Batch-add keys to authorized_keys
...@@ -167,8 +157,7 @@ module Gitlab ...@@ -167,8 +157,7 @@ module Gitlab
# remove_key("key-342", "sha-rsa ...") # remove_key("key-342", "sha-rsa ...")
# #
def remove_key(key_id, key_content) def remove_key(key_id, key_content)
Gitlab::Utils.system_silent([gitlab_shell_keys_path, system gitlab_shell_keys_path, 'rm-key', key_id, key_content
'rm-key', key_id, key_content])
end end
# Remove all ssh keys from gitlab shell # Remove all ssh keys from gitlab shell
...@@ -177,7 +166,7 @@ module Gitlab ...@@ -177,7 +166,7 @@ module Gitlab
# remove_all_keys # remove_all_keys
# #
def remove_all_keys def remove_all_keys
Gitlab::Utils.system_silent([gitlab_shell_keys_path, 'clear']) system gitlab_shell_keys_path, 'clear'
end end
# Add empty directory for storing repositories # Add empty directory for storing repositories
......
...@@ -5,8 +5,7 @@ module Gitlab ...@@ -5,8 +5,7 @@ module Gitlab
# #
# Returns true for a valid reference name, false otherwise # Returns true for a valid reference name, false otherwise
def validate(ref_name) def validate(ref_name)
Gitlab::Utils.system_silent( system *%W(git check-ref-format refs/#{ref_name})
%W(git check-ref-format refs/#{ref_name})) == 0
end end
end end
end end
module Gitlab
module Utils
extend self
# Run system command without outputting to stdout.
#
# @param cmd [Array<String>]
# @return [Integer] exit status
def system_silent(cmd)
IO.popen(cmd).close
$?.exitstatus
end
end
end
...@@ -76,7 +76,7 @@ namespace :gitlab do ...@@ -76,7 +76,7 @@ namespace :gitlab do
desc "GITLAB | Build missing projects" desc "GITLAB | Build missing projects"
task build_missing_projects: :environment do task build_missing_projects: :environment do
Project.find_each(batch_size: 1000) do |project| Project.find_each(batch_size: 1000) do |project|
path_to_repo = File.join(Gitlab.config.gitlab_shell.repos_path, "#{project.path_with_namespace}.git") path_to_repo = project.repository.path_to_repo
if File.exists?(path_to_repo) if File.exists?(path_to_repo)
print '-' print '-'
else else
......
...@@ -34,11 +34,11 @@ describe GitlabCiService do ...@@ -34,11 +34,11 @@ describe GitlabCiService do
end end
describe :commit_status_path do describe :commit_status_path do
it { @service.commit_status_path("2ab7834c").should == "http://ci.gitlab.org/projects/2/builds/2ab7834c/status.json?token=verySecret"} it { @service.commit_status_path("2ab7834c").should == "http://ci.gitlab.org/projects/2/commits/2ab7834c/status.json?token=verySecret"}
end end
describe :build_page do describe :build_page do
it { @service.build_page("2ab7834c").should == "http://ci.gitlab.org/projects/2/builds/2ab7834c"} it { @service.build_page("2ab7834c").should == "http://ci.gitlab.org/projects/2/commits/2ab7834c"}
end end
end end
end end
...@@ -37,8 +37,7 @@ describe API::API, api: true do ...@@ -37,8 +37,7 @@ describe API::API, api: true do
context 'annotated tag' do context 'annotated tag' do
it 'should create a new annotated tag' do it 'should create a new annotated tag' do
# Identity must be set in .gitconfig to create annotated tag. # Identity must be set in .gitconfig to create annotated tag.
repo_path = File.join(Gitlab.config.gitlab_shell.repos_path, repo_path = project.repository.path_to_repo
project.path_with_namespace + '.git')
system(*%W(git --git-dir=#{repo_path} config user.name #{user.name})) system(*%W(git --git-dir=#{repo_path} config user.name #{user.name}))
system(*%W(git --git-dir=#{repo_path} config user.email #{user.email})) system(*%W(git --git-dir=#{repo_path} config user.email #{user.email}))
......
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