diff options
author | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2011-10-14 22:43:25 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2011-10-14 22:43:25 +0300 |
commit | 6a2cd2e9f5b93abbdb12c1a2401ff65843912605 (patch) | |
tree | 18a1b313e45f568f4ada7fc013363542d5dc581b | |
parent | 06ba82817602532c50c139e12efbef2a7ed84905 (diff) | |
download | gitlab-ce-6a2cd2e9f5b93abbdb12c1a2401ff65843912605.tar.gz |
Fixed: invalid browse code for commit. Perfomance test added
-rw-r--r-- | app/controllers/projects_controller.rb | 2 | ||||
-rw-r--r-- | app/views/projects/_tree_file.html.haml | 1 | ||||
-rw-r--r-- | app/views/projects/_tree_item.html.haml | 2 | ||||
-rw-r--r-- | spec/requests/projects_tree_perfomance_spec.rb | 37 |
4 files changed, 40 insertions, 2 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 09856803e78..7dd6eefc313 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 08927fc2aac..3463bfc543f 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 533c1484f7e..9ba33c1ef88 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 00000000000..5b4facb17d6 --- /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 |