From f06d98e907f71dc9b3a4a2da0db1c096b6c07024 Mon Sep 17 00:00:00 2001
From: Robert Speicher <rspeicher@gmail.com>
Date: Wed, 5 Sep 2012 01:00:07 -0400
Subject: [PATCH] Add SetDefaultBranchDefaultToNil migration

default_branch now defaults to nil, not 'master'. It will be set after the first
push by discover_default_branch.
---
 app/models/project.rb                          |  2 +-
 ...043334_set_default_branch_default_to_nil.rb | 12 ++++++++++++
 db/schema.rb                                   | 18 +++++++++---------
 3 files changed, 22 insertions(+), 10 deletions(-)
 create mode 100644 db/migrate/20120905043334_set_default_branch_default_to_nil.rb

diff --git a/app/models/project.rb b/app/models/project.rb
index a7735a4213..fc18ad5552 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -187,7 +187,7 @@ end
 #  private_flag           :boolean(1)      default(TRUE), not null
 #  code                   :string(255)
 #  owner_id               :integer(4)
-#  default_branch         :string(255)     default("master"), not null
+#  default_branch         :string(255)
 #  issues_enabled         :boolean(1)      default(TRUE), not null
 #  wall_enabled           :boolean(1)      default(TRUE), not null
 #  merge_requests_enabled :boolean(1)      default(TRUE), not null
diff --git a/db/migrate/20120905043334_set_default_branch_default_to_nil.rb b/db/migrate/20120905043334_set_default_branch_default_to_nil.rb
new file mode 100644
index 0000000000..f5956fe875
--- /dev/null
+++ b/db/migrate/20120905043334_set_default_branch_default_to_nil.rb
@@ -0,0 +1,12 @@
+class SetDefaultBranchDefaultToNil < ActiveRecord::Migration
+  def up
+    # Set the default_branch to allow nil, and default it to nil
+    change_column_null(:projects, :default_branch, true)
+    change_column_default(:projects, :default_branch, nil)
+  end
+
+  def down
+    change_column_null(:projects, :default_branch, false)
+    change_column_default(:projects, :default_branch, 'master')
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 46461e44aa..00bb55234a 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version => 20120729131232) do
+ActiveRecord::Schema.define(:version => 20120905043334) do
 
   create_table "events", :force => true do |t|
     t.string   "target_type"
@@ -98,16 +98,16 @@ ActiveRecord::Schema.define(:version => 20120729131232) do
     t.string   "name"
     t.string   "path"
     t.text     "description"
-    t.datetime "created_at",                                   :null => false
-    t.datetime "updated_at",                                   :null => false
-    t.boolean  "private_flag",           :default => true,     :null => false
+    t.datetime "created_at",                               :null => false
+    t.datetime "updated_at",                               :null => false
+    t.boolean  "private_flag",           :default => true, :null => false
     t.string   "code"
     t.integer  "owner_id"
-    t.string   "default_branch",         :default => "master", :null => false
-    t.boolean  "issues_enabled",         :default => true,     :null => false
-    t.boolean  "wall_enabled",           :default => true,     :null => false
-    t.boolean  "merge_requests_enabled", :default => true,     :null => false
-    t.boolean  "wiki_enabled",           :default => true,     :null => false
+    t.string   "default_branch"
+    t.boolean  "issues_enabled",         :default => true, :null => false
+    t.boolean  "wall_enabled",           :default => true, :null => false
+    t.boolean  "merge_requests_enabled", :default => true, :null => false
+    t.boolean  "wiki_enabled",           :default => true, :null => false
   end
 
   create_table "protected_branches", :force => true do |t|
-- 
2.30.9