From 5ec0237fbb326f5602ee6f7d1cf9ed93c9ec58c6 Mon Sep 17 00:00:00 2001 From: elijah Date: Sun, 20 Jan 2013 13:52:48 -0800 Subject: fix bug with rsync when leap command is run from other directories --- lib/leap_cli/commands/deploy.rb | 4 +++- lib/leap_cli/remote/plugin.rb | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/leap_cli/commands/deploy.rb b/lib/leap_cli/commands/deploy.rb index a7f6bc3..37901f4 100644 --- a/lib/leap_cli/commands/deploy.rb +++ b/lib/leap_cli/commands/deploy.rb @@ -88,6 +88,8 @@ module LeapCli end def calculate_includes_from_files(files) + return nil unless files and files.any? + # prepend '/' (kind of like ^ for rsync) includes = files.collect {|file| '/' + file} @@ -98,7 +100,7 @@ module LeapCli end end - # include all parent directories + # include all parent directories (required because of --exclude '*') includes.size.times do |i| path = File.dirname(includes[i]) while(path != '/') diff --git a/lib/leap_cli/remote/plugin.rb b/lib/leap_cli/remote/plugin.rb index 213c981..c32b0be 100644 --- a/lib/leap_cli/remote/plugin.rb +++ b/lib/leap_cli/remote/plugin.rb @@ -48,7 +48,10 @@ module LeapCli; module Remote; module Plugin #end # - # takes a block, yielded a server, that should return {:source => '', :dest => ''} + # takes a block, yielded a server, that should return a hash with various rsync options. + # supported options include: + # + # {:source => '', :dest => '', :flags => '', :includes => [], :excludes => []} # def rsync_update SupplyDrop::Util.thread_pool_size = puppet_parallel_rsync_pool_size @@ -76,7 +79,7 @@ module LeapCli; module Remote; module Plugin # run command logger.debug rsync_cmd - Dir.chdir(options[:chdir] || '.') do + Dir.chdir(options[:chdir] || Path.provider) do ok = system(rsync_cmd) failed_servers << server.host unless ok end -- cgit v1.2.3