diff --git a/config/initializers/capistrano_namespace_rake_fix.rb b/config/initializers/capistrano_namespace_rake_fix.rb index 5f72b1599..a50d046d5 100644 --- a/config/initializers/capistrano_namespace_rake_fix.rb +++ b/config/initializers/capistrano_namespace_rake_fix.rb @@ -1,2 +1,5 @@ # see http://groups.google.com/group/capistrano/browse_thread/thread/b5e11c0ebf37a8be -Capistrano::Configuration::Namespaces::Namespace.class_eval { undef :symlink } \ No newline at end of file +Capistrano::Configuration::Namespaces::Namespace.class_eval do + undef :symlink + undef :install +end \ No newline at end of file diff --git a/lib/webistrano/deployer.rb b/lib/webistrano/deployer.rb index 327ef6945..bb9e28f17 100644 --- a/lib/webistrano/deployer.rb +++ b/lib/webistrano/deployer.rb @@ -22,7 +22,7 @@ def initialize(deployment) @deployment = deployment - if(@deployment.task && !@deployment.new_record?) + if(@deployment.send(:task) && !@deployment.new_record?) # a read deployment @logger = Webistrano::Logger.new(deployment) @logger.level = Webistrano::Logger::TRACE @@ -63,8 +63,12 @@ def execute! set_webistrano_logger(config) set_up_config(config) - - exchange_real_revision(config) unless (config.fetch(:scm).to_s == 'git') # git cannot do a local query by default + + # git and mercurial cannot do a local query by default + unless %w(git mercurial).include? config.fetch(:scm).to_s + exchange_real_revision(config) + end + save_revision(config) save_pid