Commit d701d586 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'gitlab_git_rugged' into 'master'

gitlab_git with rugged

Updated gitlab_git version with Blob via rugged
parents 10aa84bd fc16a228
...@@ -29,7 +29,7 @@ gem 'omniauth-github' ...@@ -29,7 +29,7 @@ gem 'omniauth-github'
# Extracting information from a git repository # Extracting information from a git repository
# Provide access to Gitlab::Git library # Provide access to Gitlab::Git library
gem "gitlab_git", git: 'https://gitlab.com/gitlab-org/gitlab_git.git', ref: '39bc4f043414f1e49f802ed633fa20e6400bfa49' gem "gitlab_git", git: 'https://gitlab.com/gitlab-org/gitlab_git.git'
# Ruby/Rack Git Smart-HTTP Server Handler # Ruby/Rack Git Smart-HTTP Server Handler
gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack' gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack'
......
...@@ -7,8 +7,7 @@ GIT ...@@ -7,8 +7,7 @@ GIT
GIT GIT
remote: https://gitlab.com/gitlab-org/gitlab_git.git remote: https://gitlab.com/gitlab-org/gitlab_git.git
revision: 39bc4f043414f1e49f802ed633fa20e6400bfa49 revision: 9e833986399f967e535e6559ac8c3d2c66ae046c
ref: 39bc4f043414f1e49f802ed633fa20e6400bfa49
specs: specs:
gitlab_git (5.1.0.pre) gitlab_git (5.1.0.pre)
activesupport (~> 4.0.0) activesupport (~> 4.0.0)
...@@ -325,7 +324,7 @@ GEM ...@@ -325,7 +324,7 @@ GEM
multi_json (~> 1.0) multi_json (~> 1.0)
websocket-driver (>= 0.2.0) websocket-driver (>= 0.2.0)
polyglot (0.3.3) polyglot (0.3.3)
posix-spawn (0.3.6) posix-spawn (0.3.8)
protected_attributes (1.0.5) protected_attributes (1.0.5)
activemodel (>= 4.0.1, < 5.0) activemodel (>= 4.0.1, < 5.0)
pry (0.9.12.4) pry (0.9.12.4)
......
...@@ -166,14 +166,14 @@ module GitlabMarkdownHelper ...@@ -166,14 +166,14 @@ module GitlabMarkdownHelper
def file_exists?(path) def file_exists?(path)
return false if path.nil? || path.empty? return false if path.nil? || path.empty?
return @repository.blob_at(current_ref, path).present? || @repository.tree(:head, path).entries.any? return @repository.blob_at(current_sha, path).present? || @repository.tree(current_sha, path).entries.any?
end end
# Check if the path is pointing to a directory(tree) or a file(blob) # Check if the path is pointing to a directory(tree) or a file(blob)
# eg. doc/api is directory and doc/README.md is file # eg. doc/api is directory and doc/README.md is file
def local_path(path) def local_path(path)
return "tree" if @repository.tree(:head, path).entries.any? return "tree" if @repository.tree(current_sha, path).entries.any?
return "raw" if @repository.blob_at(current_ref, path).image? return "raw" if @repository.blob_at(current_sha, path).image?
return "blob" return "blob"
end end
...@@ -181,6 +181,14 @@ module GitlabMarkdownHelper ...@@ -181,6 +181,14 @@ module GitlabMarkdownHelper
@commit.nil? ? "master" : @commit.id @commit.nil? ? "master" : @commit.id
end end
def current_sha
if @commit
@commit.id
else
@repository.head_commit.sha
end
end
# We will assume that if no ref exists we can point to master # We will assume that if no ref exists we can point to master
def correct_ref(ref) def correct_ref(ref)
ref ? ref : "master" ref ? ref : "master"
......
...@@ -24,7 +24,8 @@ module Files ...@@ -24,7 +24,8 @@ module Files
return error("Your changes could not be committed, because file name contains not allowed characters") return error("Your changes could not be committed, because file name contains not allowed characters")
end end
blob = repository.blob_at(ref, file_path) commit = repository.commit(ref)
blob = repository.blob_at(commit.sha, file_path)
if blob if blob
return error("Your changes could not be committed, because file with such name exists") return error("Your changes could not be committed, because file with such name exists")
......
...@@ -17,7 +17,8 @@ module Files ...@@ -17,7 +17,8 @@ module Files
return error("You can only create files if you are on top of a branch") return error("You can only create files if you are on top of a branch")
end end
blob = repository.blob_at(ref, path) commit = repository.commit(ref)
blob = repository.blob_at(commit.sha, path)
unless blob unless blob
return error("You can only edit text files") return error("You can only edit text files")
......
...@@ -17,7 +17,8 @@ module Files ...@@ -17,7 +17,8 @@ module Files
return error("You can only create files if you are on top of a branch") return error("You can only create files if you are on top of a branch")
end end
blob = repository.blob_at(ref, path) commit = repository.commit(ref)
blob = repository.blob_at(commit.sha, path)
unless blob unless blob
return error("You can only edit text files") return error("You can only edit text files")
......
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