diff options
-rw-r--r-- | app/assets/stylesheets/gitlab_bootstrap/files.scss | 6 | ||||
-rw-r--r-- | app/controllers/projects/blob_controller.rb | 2 | ||||
-rw-r--r-- | app/models/repository.rb | 2 | ||||
-rw-r--r-- | app/views/projects/blob/_download.html.haml | 11 | ||||
-rw-r--r-- | lib/api/repositories.rb | 6 | ||||
-rw-r--r-- | lib/extracts_path.rb | 2 |
6 files changed, 19 insertions, 10 deletions
diff --git a/app/assets/stylesheets/gitlab_bootstrap/files.scss b/app/assets/stylesheets/gitlab_bootstrap/files.scss index 8ba8c93e3d6..a286e530cd6 100644 --- a/app/assets/stylesheets/gitlab_bootstrap/files.scss +++ b/app/assets/stylesheets/gitlab_bootstrap/files.scss @@ -69,6 +69,12 @@ } + &.blob-no-preview { + background: #eee; + text-shadow: 0 1px 2px #FFF; + padding: 100px 0; + } + /** * Blame file */ diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index 33dbc869996..878f25c7c03 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -9,5 +9,7 @@ class Projects::BlobController < Projects::ApplicationController def show @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path) + + not_found! unless @blob end end diff --git a/app/models/repository.rb b/app/models/repository.rb index 734d060095e..145bd51ffd3 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -5,7 +5,7 @@ class Repository def initialize(path_with_namespace, default_branch) @path_with_namespace = path_with_namespace - @raw_repository = Gitlab::Git::Repository.new(path_to_repo) + @raw_repository = Gitlab::Git::Repository.new(path_to_repo) if path_with_namespace rescue Gitlab::Git::Repository::NoRepository nil end diff --git a/app/views/projects/blob/_download.html.haml b/app/views/projects/blob/_download.html.haml index f3da1a2a219..ff317f90209 100644 --- a/app/views/projects/blob/_download.html.haml +++ b/app/views/projects/blob/_download.html.haml @@ -1,8 +1,7 @@ -.file-content.blob_file +.file-content.blob_file.blob-no-preview %center = link_to project_raw_path(@project, @id) do - %div.padded - %h4 - %i.icon-download-alt - %br - Download (#{number_to_human_size blob.size}) + %h1.light + %i.icon-download-alt + %h4 + Download (#{number_to_human_size blob.size}) diff --git a/lib/api/repositories.rb b/lib/api/repositories.rb index c2b229b0172..1a911eae2bb 100644 --- a/lib/api/repositories.rb +++ b/lib/api/repositories.rb @@ -139,7 +139,7 @@ module API path = params[:path] || nil commit = user_project.repository.commit(ref) - tree = Tree.new(user_project.repository, commit.id, ref, path) + tree = Tree.new(user_project.repository, commit.id, path) trees = [] @@ -168,8 +168,8 @@ module API commit = repo.commit(ref) not_found! "Commit" unless commit - blob = Gitlab::Git::Blob.new(repo, commit.id, ref, params[:filepath]) - not_found! "File" unless blob.exists? + blob = Gitlab::Git::Blob.find(repo, commit.id, params[:filepath]) + not_found! "File" unless blob env['api.format'] = :txt diff --git a/lib/extracts_path.rb b/lib/extracts_path.rb index 5f28d624402..6e7872dcd03 100644 --- a/lib/extracts_path.rb +++ b/lib/extracts_path.rb @@ -107,6 +107,8 @@ module ExtractsPath @commit = @repo.commit(@options[:extended_sha1]) end + raise InvalidPathError unless @commit + @hex_path = Digest::SHA1.hexdigest(@path) @logs_path = logs_file_project_ref_path(@project, @ref, @path) |