summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/stylesheets/gitlab_bootstrap/files.scss6
-rw-r--r--app/controllers/projects/blob_controller.rb2
-rw-r--r--app/models/repository.rb2
-rw-r--r--app/views/projects/blob/_download.html.haml11
-rw-r--r--lib/api/repositories.rb6
-rw-r--r--lib/extracts_path.rb2
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)