From 8989a5057b6dc0e287a8b27ded31f08c5e56d0a7 Mon Sep 17 00:00:00 2001 From: dixpac Date: Tue, 10 Jan 2017 14:58:28 +0100 Subject: [PATCH] Initalize git repo when creatin new rails app * If `--skip-git` is not specified initalize git repo when creating new rails app --- railties/CHANGELOG.md | 5 +++++ railties/lib/rails/generators/rails/app/app_generator.rb | 7 +++++++ railties/test/generators/app_generator_test.rb | 9 +++++++-- railties/test/generators/shared_generator_tests.rb | 1 + 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index 6cb88ca01d..ae4cf01b1b 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,8 @@ +* Initialize git repo when generating new app, if option `--skip-git` + is not provided. + + *Dino Maric* + * Don't generate HTML/ERB templates for scaffold controller with `--api` flag. Fixes #27591. diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 8efdfdcb44..bdeebbb8b5 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -53,6 +53,12 @@ def gitignore template "gitignore", ".gitignore" end + def version_control + unless options[:skip_git] + run "git init" + end + end + def app directory "app" @@ -205,6 +211,7 @@ def create_root_files build(:configru) build(:gitignore) unless options[:skip_git] build(:gemfile) unless options[:skip_gemfile] + build(:version_control) end def create_app_files diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 20de2258c5..35f7d519d8 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -731,6 +731,11 @@ def test_gitignore_when_non_sqlite3_db end end + def test_version_control_initializes_git_repo + run_generator [destination_root] + assert_directory ".git" + end + def test_create_keeps run_generator folders_with_keep = %w( @@ -777,7 +782,7 @@ def test_after_bundle_callback template end - sequence = ["install", "exec spring binstub --all", "echo ran after_bundle"] + sequence = ["git init", "install", "exec spring binstub --all", "echo ran after_bundle"] @sequence_step ||= 0 ensure_bundler_first = -> command do assert_equal sequence[@sequence_step], command, "commands should be called in sequence #{sequence}" @@ -792,7 +797,7 @@ def test_after_bundle_callback end end - assert_equal 3, @sequence_step + assert_equal 4, @sequence_step end private diff --git a/railties/test/generators/shared_generator_tests.rb b/railties/test/generators/shared_generator_tests.rb index 08b0e34fe2..cc9d3629e9 100644 --- a/railties/test/generators/shared_generator_tests.rb +++ b/railties/test/generators/shared_generator_tests.rb @@ -109,6 +109,7 @@ def test_skip_bundle def test_skip_git run_generator [destination_root, "--skip-git", "--full"] assert_no_file(".gitignore") + assert_no_directory(".git") end def test_skip_keeps