diff --git a/lib/capistrano/rsync.rb b/lib/capistrano/rsync.rb index 758d96b..137c04b 100644 --- a/lib/capistrano/rsync.rb +++ b/lib/capistrano/rsync.rb @@ -41,13 +41,20 @@ namespace :rsync do task :hook_scm do + Rake::Task["#{scm}:check"].clear Rake::Task.define_task("#{scm}:check") do invoke "rsync:check" end + Rake::Task["#{scm}:create_release"].clear Rake::Task.define_task("#{scm}:create_release") do invoke "rsync:release" end + + Rake::Task["#{scm}:set_current_revision"].clear + Rake::Task.define_task("#{scm}:set_current_revision") do + # :current_revision was already set during checkout + end end task :check do @@ -74,6 +81,16 @@ end end + desc "Set current revision into capistrano variable" + task :set_current_revision do + Dir.chdir fetch(:rsync_stage) do + get_current_revision = %x[git rev-parse HEAD] + set(:current_revision, get_current_revision) + end + end + + after :stage, :set_current_revision + desc "Copy the code to the releases directory." task :release => %w[rsync] do # Skip copying if we've already synced straight to the release directory. diff --git a/lib/capistrano/rsync/version.rb b/lib/capistrano/rsync/version.rb index f8a14e2..3157bc3 100644 --- a/lib/capistrano/rsync/version.rb +++ b/lib/capistrano/rsync/version.rb @@ -1,5 +1,5 @@ module Capistrano module Rsync - VERSION = "1.0.2" + VERSION = "1.0.2a" end end