Changeset 91
- Timestamp:
- 06/21/07 14:43:48 (2 years ago)
- Files:
-
- branches/1-7-stable/lib/deprec/recipes/svn.rb (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1-7-stable/lib/deprec/recipes/svn.rb
r82 r91 49 49 end 50 50 51 # account name to perform actions on 52 # this is a hack to allow us to optionally pass a variable to tasks 53 set (:svn_account) do 54 Capistrano::CLI.prompt('account name: ') 55 end 56 51 57 # XXX sudo apt-get install swig python-dev 52 58 # XXX requires apache already installed... 53 59 desc "install Subversion version control system" 54 task :svn_install do60 task :svn_install, :roles => :scm do 55 61 # svn 1.4 server improves on 1.3 and is backwards compatible with 1.3 clients 56 62 # http://subversion.tigris.org/svn_1.4_releasenotes.html … … 92 98 end 93 99 100 desc "grant a user access to svn repos" 101 task :svn_grant_user_access, :roles => :scm do 102 deprec.useradd(svn_account) 103 deprec.groupadd(scm_group) 104 deprec.add_user_to_group(svn_account, scm_group) 105 end 106 94 107 task :scm_setup do # deprecated 108 svn_setup 109 end 110 111 task :svn_setup do 95 112 svn_import_project 96 113 end 97 114 98 115 desc "Create subversion repository and import project into it" 99 task :svn_import_project, :roles => scm do116 task :svn_import_project, :roles => :scm do 100 117 svn_create_repos 101 118 svn_import … … 103 120 104 121 desc "Create a subversion repository" 105 task :svn_create_repos, :roles => scm do 106 deprec.groupadd(scm_group) 107 deprec.add_user_to_group(user, scm_group) 108 # deprec.mkdir(svn_root, :mode => '0755') 122 task :svn_create_repos, :roles => :scm do 123 set :svn_account, user 124 svn_grant_user_access 125 # deprec.useradd(user) 126 # deprec.groupadd(scm_group) 127 # deprec.add_user_to_group(user, scm_group) 109 128 deprec.mkdir(repos_root, :mode => '2775', :group => scm_group) 110 129 sudo "svnadmin verify #{repos_root} > /dev/null 2>&1 || sudo svnadmin create #{repos_root}" … … 114 133 # Adapted from code in Bradley Taylors RailsMachine gem 115 134 desc "Import project into subversion repository." 116 task :svn_import, :roles => scm do135 task :svn_import, :roles => :scm do 117 136 repository ||= "#{svn_scheme}://#{scm_host == 'localhost' ? '/' : scm_host}/#{repos_path}" 118 137 new_path = "../#{application}" … … 130 149 system "svn co #{repository} #{application}" 131 150 Dir.chdir application 132 svn_remove_log_and_tmp151 # svn_remove_log_and_tmp 133 152 puts "Your repository is: #{repository}" 134 153 end … … 136 155 # Lifted from Bradley Taylors RailsMachine gem 137 156 desc "remove and ignore log files and tmp from subversion" 138 task :svn_remove_log_and_tmp do157 task :svn_remove_log_and_tmp, :roles => :scm do 139 158 puts "removing log directory contents from svn" 140 159 system "svn remove log/*" … … 142 161 system "svn propset svn:ignore '*.log' log/" 143 162 system "svn update log/" 144 puts "removing tmp directory from svn" 145 system "svn remove tmp/" 163 puts "removing contents of tmp sub-directorys from svn" 164 system "svn remove tmp/cache/*" 165 system "svn remove tmp/pids/*" 166 system "svn remove tmp/sessions/*" 167 system "svn remove tmp/sockets/*" 146 168 puts "ignoring tmp directory" 147 system "svn propset svn:ignore '*' tmp/" 169 system "svn propset svn:ignore '*' tmp/cache" 170 system "svn propset svn:ignore '*' tmp/pids" 171 system "svn propset svn:ignore '*' tmp/sessions" 172 system "svn propset svn:ignore '*' tmp/sockets" 148 173 system "svn update tmp/" 149 174 puts "committing changes" … … 151 176 end 152 177 153 desc "Cache svn name and password on the server. Useful for http-based repositories."178 # desc "Cache svn name and password on the server. Useful for http-based repositories." 154 179 task :svn_cache_credentials do 155 180 run_with_input "svn list #{repository}" 156 181 end 182 183 184 157 185 158 186 # XXX TODO
