Changeset 91

Show
Ignore:
Timestamp:
06/21/07 14:43:48 (2 years ago)
Author:
mbailey
Message:

lots of changes to svn

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1-7-stable/lib/deprec/recipes/svn.rb

    r82 r91  
    4949  end 
    5050   
     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   
    5157  # XXX sudo apt-get install swig python-dev 
    5258  # XXX requires apache already installed... 
    5359  desc "install Subversion version control system" 
    54   task :svn_install do 
     60  task :svn_install, :roles => :scm do 
    5561    # svn 1.4 server improves on 1.3 and is backwards compatible with 1.3 clients 
    5662    # http://subversion.tigris.org/svn_1.4_releasenotes.html 
     
    9298  end 
    9399   
     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   
    94107  task :scm_setup do # deprecated 
     108    svn_setup 
     109  end 
     110   
     111  task :svn_setup do  
    95112    svn_import_project 
    96113  end 
    97114   
    98115  desc "Create subversion repository and import project into it" 
    99   task :svn_import_project, :roles => scm do 
     116  task :svn_import_project, :roles => :scm do 
    100117    svn_create_repos 
    101118    svn_import 
     
    103120   
    104121  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) 
    109128    deprec.mkdir(repos_root, :mode => '2775', :group => scm_group) 
    110129    sudo "svnadmin verify #{repos_root} > /dev/null 2>&1 || sudo svnadmin create #{repos_root}" 
     
    114133  # Adapted from code in Bradley Taylors RailsMachine gem 
    115134  desc "Import project into subversion repository." 
    116   task :svn_import, :roles => scm do  
     135  task :svn_import, :roles => :scm do  
    117136    repository ||= "#{svn_scheme}://#{scm_host == 'localhost' ? '/' : scm_host}/#{repos_path}"    
    118137    new_path = "../#{application}" 
     
    130149    system "svn co #{repository} #{application}" 
    131150    Dir.chdir application 
    132     svn_remove_log_and_tmp 
     151    # svn_remove_log_and_tmp 
    133152    puts "Your repository is: #{repository}"  
    134153  end 
     
    136155  # Lifted from Bradley Taylors RailsMachine gem 
    137156  desc "remove and ignore log files and tmp from subversion" 
    138   task :svn_remove_log_and_tmp do 
     157  task :svn_remove_log_and_tmp, :roles => :scm do 
    139158    puts "removing log directory contents from svn" 
    140159    system "svn remove log/*" 
     
    142161    system "svn propset svn:ignore '*.log' log/" 
    143162    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/*" 
    146168    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" 
    148173    system "svn update tmp/" 
    149174    puts "committing changes" 
     
    151176  end 
    152177   
    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." 
    154179  task :svn_cache_credentials do 
    155180    run_with_input "svn list #{repository}" 
    156181  end 
     182   
     183 
     184   
    157185   
    158186  # XXX TODO