Sha256: e6315b18a279884c65683b7448f3df026fd4930a5e1149354abd8ed3faf7af33

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

namespace :hg do
  def strategy
    @strategy ||= Capistrano::Hg.new(self, fetch(:hg_strategy, Capistrano::Hg::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: :'hg:clone' do
    on release_roles :all do
      within repo_path do
        strategy.update
      end
    end
  end

  desc "Copy repo to releases"
  task create_release: :'hg: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/hg.rake
capistrano-3.6.0 lib/capistrano/tasks/hg.rake
capistrano-3.5.0 lib/capistrano/tasks/hg.rake