diff --git a/app/assets/stylesheets/projects.css.scss b/app/assets/stylesheets/projects.css.scss index 6916d65c..316ef033 100644 --- a/app/assets/stylesheets/projects.css.scss +++ b/app/assets/stylesheets/projects.css.scss @@ -598,6 +598,7 @@ h4.middle-panel { } } } +.merge-tabs.repository .tab span{ background: url("images.png") no-repeat -38px -77px; } .activities-tab span { background: url("images.png") no-repeat -161px -1px; } .stat-tab span, .team-tab span, diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 8e1fc74d..9a112f46 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -11,4 +11,12 @@ class RepositoriesController < ApplicationController def show @activities = @project.fresh_commits(20) end + + def branches + @branches = @project.repo.heads.sort_by(&:name) + end + + def tags + @tags = @project.repo.tags.sort_by(&:name).reverse + end end diff --git a/app/views/repositories/_head.html.haml b/app/views/repositories/_head.html.haml index 7cf8c20d..c22286ec 100644 --- a/app/views/repositories/_head.html.haml +++ b/app/views/repositories/_head.html.haml @@ -2,16 +2,16 @@ = link_to project_repository_path(@project), :class => "activities-tab tab #{'active' if current_page?(project_repository_path(@project)) }" do %span Activities - = link_to "#", :class => "tab" do + = link_to branches_project_repository_path(@project), :class => "tab #{'active' if current_page?(branches_project_repository_path(@project)) }" do %span Branches - = link_to "#", :class => "tab" do + = link_to tags_project_repository_path(@project), :class => "tab #{'active' if current_page?(tags_project_repository_path(@project)) }" do %span Tags - = link_to "#", :class => "tab" do + -#= link_to "#", :class => "tab" do %span Hooks - = link_to "#", :class => "tab" do + -#= link_to "#", :class => "tab" do %span Deploy Keys diff --git a/app/views/repositories/branches.html.haml b/app/views/repositories/branches.html.haml new file mode 100644 index 00000000..3a63e761 --- /dev/null +++ b/app/views/repositories/branches.html.haml @@ -0,0 +1,10 @@ += render "head" +- unless @branches.empty? + %div.update-data.ui-box.ui-box-small + .data + - @branches.each do |branch| + %a.update-item{:href => project_commits_path(@project, :ref => branch.name)} + %span.update-title{:style => "margin-bottom:0px;"} + = branch.name +- else + %h3 No brances diff --git a/app/views/repositories/tags.html.haml b/app/views/repositories/tags.html.haml new file mode 100644 index 00000000..6c8e377a --- /dev/null +++ b/app/views/repositories/tags.html.haml @@ -0,0 +1,10 @@ += render "head" +- unless @tags.empty? + %div.update-data.ui-box.ui-box-small + .data + - @tags.each do |tag| + %a.update-item{:href => project_commits_path(@project, :ref => tag.name)} + %span.update-title{:style => "margin-bottom:0px;"} + = tag.name +- else + %h3 No tags diff --git a/config/routes.rb b/config/routes.rb index 9e5e15a3..90b391cd 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -46,7 +46,12 @@ Gitlab::Application.routes.draw do get "files" end - resource :repository + resource :repository do + member do + get "branches" + get "tags" + end + end resources :refs, :only => [], :path => "/" do collection do diff --git a/spec/requests/repositories_spec.rb b/spec/requests/repositories_spec.rb index 92933b40..8c3ebf18 100644 --- a/spec/requests/repositories_spec.rb +++ b/spec/requests/repositories_spec.rb @@ -31,5 +31,28 @@ describe "Repository" do page.all(:css, ".project-update").size.should == 20 end end + + describe "GET /:project_name/repository/branches" do + before do + visit branches_project_repository_path(@project) + end + + it "should have link to repo activities" do + page.should have_content("Branches") + page.should have_content("master") + end + end + + # TODO: Add new repo to seeds with tags list + describe "GET /:project_name/repository/tags" do + before do + visit tags_project_repository_path(@project) + end + + it "should have link to repo activities" do + page.should have_content("Tags") + page.should have_content("No tags") + end + end end