Sha256: 5a38ecda6b92820425fe38891439e4a91f997b8dae2d50983e56242ab483d0ae

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

namespace :svn do
  def strategy
    @strategy ||= Capistrano::Svn.new(self, fetch(:svn_strategy, Capistrano::Svn::DefaultStrategy))
  end

  desc "Check that the repo is reachable"
  task :check do
    on release_roles :all do
      strategy.check
    end
  end

  desc "Clone the repo to the cache"
  task :clone do
    on release_roles :all do
      if strategy.test
        info t(:mirror_exists, at: repo_path)
      else
        within deploy_path do
          strategy.clone
        end
      end
    end
  end

  desc "Pull changes from the remote repo"
  task update: :'svn:clone' do
    on release_roles :all do
      within repo_path do
        strategy.update
      end
    end
  end

  desc "Copy repo to releases"
  task create_release: :'svn:update' do
    on release_roles :all do
      within repo_path do
        strategy.release
      end
    end
  end

  desc "Determine the revision that will be deployed"
  task :set_current_revision do
    on release_roles :all do
      within repo_path do
        set :current_revision, strategy.fetch_revision
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
capistrano-3.6.1 lib/capistrano/tasks/svn.rake
capistrano-3.6.0 lib/capistrano/tasks/svn.rake
capistrano-3.5.0 lib/capistrano/tasks/svn.rake