Commit d68ec5e0fb156e56c2e057eefe2e473d72d44c1f

Authored by Dmitriy Zaporozhets
1 parent 2552a877

default_branch for project & fixed project destroy

app/controllers/application_controller.rb
@@ -61,7 +61,7 @@ class ApplicationController < ActionController::Base @@ -61,7 +61,7 @@ class ApplicationController < ActionController::Base
61 else 61 else
62 @branch = params[:branch].blank? ? nil : params[:branch] 62 @branch = params[:branch].blank? ? nil : params[:branch]
63 @tag = params[:tag].blank? ? nil : params[:tag] 63 @tag = params[:tag].blank? ? nil : params[:tag]
64 - @ref = @branch || @tag || Repository.default_ref 64 + @ref = @branch || @tag || @project.try(:default_branch) || Repository.default_ref
65 end 65 end
66 end 66 end
67 67
app/models/project.rb
@@ -158,7 +158,7 @@ class Project < ActiveRecord::Base @@ -158,7 +158,7 @@ class Project < ActiveRecord::Base
158 end 158 end
159 159
160 def root_ref 160 def root_ref
161 - "master" 161 + default_branch || "master"
162 end 162 end
163 163
164 def public? 164 def public?
app/views/layouts/project.html.haml
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 %span{ :class => "number" }= @project.snippets.non_expired.count 49 %span{ :class => "number" }= @project.snippets.non_expired.count
50 50
51 - if can? current_user, :admin_project, @project 51 - if can? current_user, :admin_project, @project
52 - = link_to "Project", edit_project_path(@project), :class => (current_page?(edit_project_path(@project))) ? "current" : nil 52 + = link_to "Admin", edit_project_path(@project), :class => (current_page?(edit_project_path(@project))) ? "current" : nil
53 53
54 .medium-tags{:style => 'padding: 10px 0 0 10px; width: 210px;'}= tag_list @project 54 .medium-tags{:style => 'padding: 10px 0 0 10px; width: 210px;'}= tag_list @project
55 55
app/views/projects/_form.html.haml
@@ -29,6 +29,11 @@ @@ -29,6 +29,11 @@
29 %cite.right= "http://#{GIT_HOST["host"]}/" 29 %cite.right= "http://#{GIT_HOST["host"]}/"
30 %td= f.text_field :code, :placeholder => "example" 30 %td= f.text_field :code, :placeholder => "example"
31 31
  32 + - unless @project.heads.empty?
  33 + %tr
  34 + %td= f.label :default_branch, "Default Branch"
  35 + %td= f.select(:default_branch, @project.heads.map(&:name), {}, :style => "width:300px;")
  36 +
32 %tr 37 %tr
33 %td= f.label :tag_list 38 %td= f.label :tag_list
34 %td= f.text_area :tag_list, :placeholder => "project tags", :style => "height:50px", :id => :tag_field 39 %td= f.text_area :tag_list, :placeholder => "project tags", :style => "height:50px", :id => :tag_field
@@ -57,4 +62,5 @@ @@ -57,4 +62,5 @@
57 :javascript 62 :javascript
58 $(function(){ 63 $(function(){
59 taggifyForm(); 64 taggifyForm();
  65 + $('form #project_default_branch').chosen();
60 }) 66 })
db/migrate/20111207211728_add_default_branch_to_project.rb 0 → 100644
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +class AddDefaultBranchToProject < ActiveRecord::Migration
  2 + def change
  3 + add_column :projects, :default_branch, :string, :null => false, :default => "master"
  4 + end
  5 +end
@@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@
11 # 11 #
12 # It's strongly recommended to check this file into your version control system. 12 # It's strongly recommended to check this file into your version control system.
13 13
14 -ActiveRecord::Schema.define(:version => 20111206222316) do 14 +ActiveRecord::Schema.define(:version => 20111207211728) do
15 15
16 create_table "features", :force => true do |t| 16 create_table "features", :force => true do |t|
17 t.string "name" 17 t.string "name"
@@ -76,9 +76,10 @@ ActiveRecord::Schema.define(:version =&gt; 20111206222316) do @@ -76,9 +76,10 @@ ActiveRecord::Schema.define(:version =&gt; 20111206222316) do
76 t.text "description" 76 t.text "description"
77 t.datetime "created_at" 77 t.datetime "created_at"
78 t.datetime "updated_at" 78 t.datetime "updated_at"
79 - t.boolean "private_flag", :default => true, :null => false 79 + t.boolean "private_flag", :default => true, :null => false
80 t.string "code" 80 t.string "code"
81 t.integer "owner_id" 81 t.integer "owner_id"
  82 + t.string "default_branch", :default => "master", :null => false
82 end 83 end
83 84
84 create_table "snippets", :force => true do |t| 85 create_table "snippets", :force => true do |t|
lib/gitlabhq/gitolite.rb
@@ -42,7 +42,7 @@ module Gitlabhq @@ -42,7 +42,7 @@ module Gitlabhq
42 end 42 end
43 43
44 def destroy_project(project) 44 def destroy_project(project)
45 - `sudo -u git rm -rf #{project.path_to_repo}` 45 + FileUtils.rm_rf(project.path_to_repo)
46 46
47 ga_repo = ::Gitolite::GitoliteAdmin.new(File.join(@local_dir,'gitolite')) 47 ga_repo = ::Gitolite::GitoliteAdmin.new(File.join(@local_dir,'gitolite'))
48 conf = ga_repo.config 48 conf = ga_repo.config