Useful Rake tasks for Subversion setup with Rails
Just dump this into a file called svn.rake in your lib/tasks folder, and use rake configure_for_svn to sort everything out on your initial check out:
1 desc "Configure Subversion for Rails" 2 task :configure_for_svn do 3 system "svn remove log/*" 4 system "svn commit -m 'removing all log files from subversion'" 5 system 'svn propset svn:ignore "*.log" log/' 6 system "svn update log/" 7 system "svn commit -m 'Ignoring all files in /log/ ending in .log'" 8 system 'svn propset svn:ignore "*.db" db/' 9 system "svn update db/" 10 system "svn commit -m 'Ignoring all files in /db/ ending in .db'" 11 system "svn move config/database.yml config/database.example" 12 system "svn commit -m 'Moving database.yml to database.example to provide a template for anyone who checks out the code'" 13 system 'svn propset svn:ignore "database.yml" config/' 14 system "svn update config/" 15 system "svn commit -m 'Ignoring database.yml'" 16 system "svn remove tmp/*" 17 system "svn commit -m 'Removing /tmp/ folder'" 18 system 'svn propset svn:ignore "*" tmp/' 19 end 20 21 desc "Add new files to subversion" 22 task :add_new_files do 23 system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add" 24 end 25 26 desc "shortcut for adding new files" 27 task :add => [ :add_new_files ]