aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2008-04-10 22:15:50 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2008-04-10 22:15:50 -0700
commit4b17082107aced980fc4b511028ee763247bc5ab (patch)
tree39b070c260bef4e88b0bd42e1c2710ff40fa4ed9 /railties/lib
parented99dda174da439a0947cdabea3babf027c672ac (diff)
downloadrails-4b17082107aced980fc4b511028ee763247bc5ab.tar.gz
rails-4b17082107aced980fc4b511028ee763247bc5ab.tar.bz2
rails-4b17082107aced980fc4b511028ee763247bc5ab.zip
rake rails:freeze:edge using http://dev.rubyonrails.org/archives/rails_edge.zip instead of Subversion
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/tasks/framework.rake48
1 files changed, 19 insertions, 29 deletions
diff --git a/railties/lib/tasks/framework.rake b/railties/lib/tasks/framework.rake
index 891f901fe9..7955ded898 100644
--- a/railties/lib/tasks/framework.rake
+++ b/railties/lib/tasks/framework.rake
@@ -38,40 +38,30 @@ namespace :rails do
end
end
- desc "Lock to latest Edge Rails or a specific revision with REVISION=X (ex: REVISION=4021) or a tag with TAG=Y (ex: TAG=rel_1-1-0)"
+ desc 'Lock to latest Edge Rails'
task :edge do
- $verbose = false
- `svn --version` rescue nil
- unless !$?.nil? && $?.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"
-
- svn_root = "http://dev.rubyonrails.org/svn/rails/"
-
- if ENV['TAG']
- rails_svn = "#{svn_root}/tags/#{ENV['TAG']}"
- touch "vendor/rails/TAG_#{ENV['TAG']}"
- else
- rails_svn = "#{svn_root}/trunk"
-
- if ENV['REVISION'].nil?
- ENV['REVISION'] = /^r(\d+)/.match(%x{svn -qr HEAD log #{svn_root}})[1]
- puts "REVISION not set. Using HEAD, which is revision #{ENV['REVISION']}."
+ require 'open-uri'
+
+ chdir 'vendor' do
+ puts 'Downloading Rails'
+ File.open('rails_edge.zip', 'wb') do |dst|
+ open 'http://dev.rubyonrails.org/archives/rails_edge.zip' do |src|
+ while chunk = src.read(4096)
+ dst << chunk
+ end
+ end
end
- touch "vendor/rails/REVISION_#{ENV['REVISION']}"
+ puts 'Unpacking Rails'
+ rm_rf 'rails'
+ `unzip rails_edge.zip`
+ %w(rails_edge.zip rails/Rakefile rails/cleanlogs.sh rails/pushgems.rb rails/release.rb).each do |goner|
+ rm_f goner
+ end
end
- for framework in %w(railties actionpack activerecord actionmailer activesupport activeresource)
- system "svn export #{rails_svn}/#{framework} vendor/rails/#{framework}" + (ENV['REVISION'] ? " -r #{ENV['REVISION']}" : "")
- end
-
- puts "Updating current scripts, javascripts, and configuration settings"
- Rake::Task["rails:update"].invoke
+ puts 'Updating current scripts, javascripts, and configuration settings'
+ Rake::Task['rails:update'].invoke
end
end