aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2005-10-30 17:17:05 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2005-10-30 17:17:05 +0000
commit80a8d75bf158e4566a6582fa54e4baf7709b269d (patch)
treead205337680cb7e94de05e9f9e3b288ce5882dd0
parent025949102edb5f31219f053bbab07b3c2b9a555a (diff)
downloadrails-80a8d75bf158e4566a6582fa54e4baf7709b269d.tar.gz
rails-80a8d75bf158e4566a6582fa54e4baf7709b269d.tar.bz2
rails-80a8d75bf158e4566a6582fa54e4baf7709b269d.zip
The freeze_edge Rake task does smarter svn detection and can export a specific revision by passing the REVISION environment variable. For example: rake freeze_edge REVISION=1234. Closes #2663.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2830 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--railties/CHANGELOG2
-rw-r--r--railties/lib/tasks/framework.rake18
2 files changed, 13 insertions, 7 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index 2bd9fe0238..2305912fbd 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* The freeze_edge Rake task does smarter svn detection and can export a specific revision by passing the REVISION environment variable. For example: rake freeze_edge REVISION=1234. #2663 [Rick Olson]
+
* Comment database.yml and include PostgreSQL and SQLite examples. [Jeremy Kemper]
* Improve script/plugin on Windows. #2646 [Chad Fowler]
diff --git a/railties/lib/tasks/framework.rake b/railties/lib/tasks/framework.rake
index dccf5efce4..727a186fe1 100644
--- a/railties/lib/tasks/framework.rake
+++ b/railties/lib/tasks/framework.rake
@@ -12,22 +12,26 @@ task :freeze_gems do
FileUtils.mv(Dir.glob("vendor/rails/rails*").first, "vendor/rails/railties")
end
-desc "Lock this application to the Edge Rails (by exporting from Subversion)"
+desc "Lock this application to the Edge Rails (by exporting from Subversion). Defaults to svn HEAD; do 'rake freeze_edge REVISION=1234' to lock to a specific revision."
task :freeze_edge do
- $stderr.close
- svn_available = `svn --version`.size > 0
- raise "Subversion is not installed" unless svn_available
+ $verbose = false
+ `svn --version`
+ unless $?.success?
+ $stderr.puts "ERROR: Must have subversion (svn) available in the PATH to lock this application to Edge Rails"
+ exit 1
+ end
rm_rf "vendor/rails"
mkdir_p "vendor/rails"
-
+
+ revision_switch = ENV['REVISION'] ? " -r #{ENV['REVISION']}" : ''
for framework in %w( railties actionpack activerecord actionmailer activesupport actionwebservice )
mkdir_p "vendor/rails/#{framework}"
- system "svn export http://dev.rubyonrails.org/svn/rails/trunk/#{framework}/lib vendor/rails/#{framework}/lib"
+ system "svn export http://dev.rubyonrails.org/svn/rails/trunk/#{framework}/lib vendor/rails/#{framework}/lib #{revision_switch}"
end
end
desc "Unlock this application from freeze of gems or edge and return to a fluid use of system gems"
task :unfreeze_rails do
rm_rf "vendor/rails"
-end \ No newline at end of file
+end