diff --git a/app/controllers/projects/blame_controller.rb b/app/controllers/projects/blame_controller.rb index f22c6497cbf..a3c41301676 100644 --- a/app/controllers/projects/blame_controller.rb +++ b/app/controllers/projects/blame_controller.rb @@ -8,7 +8,7 @@ class Projects::BlameController < Projects::ApplicationController before_filter :require_non_empty_project def show - @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path) + @blob = @repository.blob_at(@commit.id, @path) @blame = Gitlab::Git::Blame.new(project.repository, @commit.id, @path) end end diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index 878f25c7c03..ba466251b29 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -8,7 +8,7 @@ class Projects::BlobController < Projects::ApplicationController before_filter :require_non_empty_project def show - @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path) + @blob = @repository.blob_at(@commit.id, @path) not_found! unless @blob end diff --git a/app/controllers/projects/edit_tree_controller.rb b/app/controllers/projects/edit_tree_controller.rb index edea80a5ccc..5d05c585ecc 100644 --- a/app/controllers/projects/edit_tree_controller.rb +++ b/app/controllers/projects/edit_tree_controller.rb @@ -10,7 +10,7 @@ class Projects::EditTreeController < Projects::ApplicationController before_filter :edit_requirements, only: [:show, :update] def show - @last_commit = Gitlab::Git::Commit.last_for_path(@project.repository, @ref, @path).sha + @last_commit = Gitlab::Git::Commit.last_for_path(@repository, @ref, @path).sha end def update @@ -32,7 +32,7 @@ class Projects::EditTreeController < Projects::ApplicationController private def edit_requirements - @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path) + @blob = @repository.blob_at(@commit.id, @path) unless @blob redirect_to project_blob_path(@project, @id), notice: "You can only edit text files" diff --git a/app/controllers/projects/raw_controller.rb b/app/controllers/projects/raw_controller.rb index 8633b225b64..18ace028b0c 100644 --- a/app/controllers/projects/raw_controller.rb +++ b/app/controllers/projects/raw_controller.rb @@ -8,7 +8,7 @@ class Projects::RawController < Projects::ApplicationController before_filter :require_non_empty_project def show - @blob = Gitlab::Git::Blob.find(@repository, @commit.id, @path) + @blob = @repository.blob_at(@commit.id, @path) if @blob type = if @blob.mime_type =~ /html|javascript/ diff --git a/app/helpers/blobs_helper.rb b/app/helpers/blobs_helper.rb deleted file mode 100644 index 26605d81026..00000000000 --- a/app/helpers/blobs_helper.rb +++ /dev/null @@ -1,5 +0,0 @@ -module BlobsHelper - def find_blob(repository, sha, path) - Gitlab::Git::Blob.find(repository, sha, path) - end -end diff --git a/app/models/repository.rb b/app/models/repository.rb index 145bd51ffd3..97b4330092a 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -155,4 +155,8 @@ class Repository super end + + def blob_at(sha, path) + Gitlab::Git::Blob.find(self, sha, path) + end end diff --git a/app/views/projects/commits/_diffs.html.haml b/app/views/projects/commits/_diffs.html.haml index f60c4661100..2e61b9ece19 100644 --- a/app/views/projects/commits/_diffs.html.haml +++ b/app/views/projects/commits/_diffs.html.haml @@ -37,8 +37,8 @@ - unless @suppress_diff - diffs.each_with_index do |diff, i| - next if diff.diff.empty? - - file = find_blob(project.repository, @commit.id, diff.new_path) - - file = find_blob(project.repository, @commit.parent_id, diff.old_path) unless file + - file = project.repository.blob_at(@commit.id, diff.new_path) + - file = project.repository.blob_at(@commit.parent_id, diff.old_path) unless file - next unless file .file{id: "diff-#{i}"} .header @@ -64,7 +64,7 @@ - if file.text? = render "projects/commits/text_file", diff: diff, index: i - elsif file.image? - - old_file = find_blob(project.repository, @commit.parent_id, diff.old_path) if @commit.parent_id + - old_file = project.repository.blob_at(@commit.parent_id, diff.old_path) if @commit.parent_id = render "projects/commits/image", diff: diff, old_file: old_file, file: file, index: i - else %p.nothing_here_message No preview for this file type