From 5f8255ac67e26d8d7dc98cff37ecae5eab4ab3cf Mon Sep 17 00:00:00 2001 From: gitlabhq Date: Fri, 14 Oct 2011 22:43:25 +0300 Subject: [PATCH] Fixed: invalid browse code for commit. Perfomance test added --- app/controllers/projects_controller.rb | 2 ++ app/views/projects/_tree_file.html.haml | 1 - app/views/projects/_tree_item.html.haml | 2 +- spec/requests/projects_tree_perfomance_spec.rb | 37 ++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 spec/requests/projects_tree_perfomance_spec.rb diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 09856803e..7dd6eefc3 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -34,6 +34,8 @@ class ProjectsController < ApplicationController def tree load_refs # load @branch, @tag & @ref + + @repo = project.repo if params[:commit_id] diff --git a/app/views/projects/_tree_file.html.haml b/app/views/projects/_tree_file.html.haml index 08927fc2a..3463bfc54 100644 --- a/app/views/projects/_tree_file.html.haml +++ b/app/views/projects/_tree_file.html.haml @@ -3,7 +3,6 @@ .view_file_header %strong = name - -#= file.mime_type = link_to "raw", blob_project_path(@project, :commit_id => @commit.id, :path => params[:path] ), :class => "right", :target => "_blank" = link_to "history", project_commits_path(@project, :path => params[:path]), :class => "right", :style => "margin-right:10px;" %br/ diff --git a/app/views/projects/_tree_item.html.haml b/app/views/projects/_tree_item.html.haml index 533c1484f..9ba33c1ef 100644 --- a/app/views/projects/_tree_item.html.haml +++ b/app/views/projects/_tree_item.html.haml @@ -1,5 +1,5 @@ - file = params[:path] ? File.join(params[:path], content.name) : content.name -- content_commit = @project.repo.log(@branch, file, :max_count => 1).last +- content_commit = @project.repo.log(@commit.id, file, :max_count => 1).last - return unless content_commit %tr{ :class => "tree-item", :url => tree_file_project_path(@project, @commit.id, file) } %td.tree-item-file-name diff --git a/spec/requests/projects_tree_perfomance_spec.rb b/spec/requests/projects_tree_perfomance_spec.rb new file mode 100644 index 000000000..5b4facb17 --- /dev/null +++ b/spec/requests/projects_tree_perfomance_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' +require 'benchmark' + +describe "Projects" do + before { login_as :user } + + describe "GET /projects/tree" do + describe "head" do + before do + @project = Factory :project + @project.add_access(@user, :read) + + end + + it "should be fast" do + time = Benchmark.realtime do + visit tree_project_path(@project) + end + (time < 1.0).should be_true + end + end + + describe ValidCommit::ID do + before do + @project = Factory :project + @project.add_access(@user, :read) + end + + it "should be fast" do + time = Benchmark.realtime do + visit tree_project_path(@project, :commit_id => ValidCommit::ID) + end + (time < 1.0).should be_true + end + end + end +end -- 2.11.0