summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2011-10-14 22:43:25 +0300
committerDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2011-10-14 22:43:25 +0300
commit6a2cd2e9f5b93abbdb12c1a2401ff65843912605 (patch)
tree18a1b313e45f568f4ada7fc013363542d5dc581b
parent06ba82817602532c50c139e12efbef2a7ed84905 (diff)
downloadgitlab-ce-6a2cd2e9f5b93abbdb12c1a2401ff65843912605.tar.gz
Fixed: invalid browse code for commit. Perfomance test added
-rw-r--r--app/controllers/projects_controller.rb2
-rw-r--r--app/views/projects/_tree_file.html.haml1
-rw-r--r--app/views/projects/_tree_item.html.haml2
-rw-r--r--spec/requests/projects_tree_perfomance_spec.rb37
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