class Rubtools::Tools::Svn
Public Class Methods
new()
click to toggle source
# File lib/tools/svn.rb, line 6 def initialize @svn = which "svn" @svn_config = config.svn raise "Add the key 'svn' in the config file" unless @svn_config @install_dir = @svn_config.install_dir raise "Add the key install_dir: /path/to/folder in the config file" unless @install_dir raise "Subversion isn't installed" unless @svn raise "Folder doesn't exists: #{@install_dir}" unless File.exists? @install_dir end
Public Instance Methods
co_all()
click to toggle source
Cloning all repositories located into rubtools.yml
# File lib/tools/svn.rb, line 27 def co_all for repo in config.svn.repositories co repo end end
print_repos()
click to toggle source
Print all repositories
# File lib/tools/svn.rb, line 19 def print_repos for repo in config.svn.repositories success "#{repo.name}\t#{repo.url}" end end
up_all()
click to toggle source
Pull all repositories located into rubtools.yml
# File lib/tools/svn.rb, line 35 def up_all for repo in config.svn.repositories up repo end end
Private Instance Methods
co(repo)
click to toggle source
Cloning a specific repository
# File lib/tools/svn.rb, line 44 def co repo repo_path = File.join @install_dir, repo.name unless File.exists? repo_path success "Checkouting #{repo.name} from #{repo.url}" exec("#{@svn} checkout #{repo.url} #{repo_path}") do |status| success "> done" if status.success? end else success "Repository #{repo.name} already checkout" end end
up(repo)
click to toggle source
Pulling a specific repository
# File lib/tools/svn.rb, line 60 def up repo repo_path = File.join @install_dir, repo.name if File.exists? repo_path success "Updating #{repo.name} repository" exec "#{@svn} update #{repo.url}" do |status| success "> done" if status.success? end else error "Repository #{repo.name} doensn't exists" co repo end end