summaryrefslogtreecommitdiff
path: root/lib/chef
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2013-05-07 10:07:21 -0700
committerJohn Keiser <jkeiser@opscode.com>2013-06-07 13:12:32 -0700
commit9fabc2ea4d024d5910c3e23c7be19b1d2c93c7ad (patch)
tree1e9de4767717ebdbdf76e3b27011613c8c2826fb /lib/chef
parent395cb75b0cd7aca6d4af27823417b247236676b9 (diff)
downloadchef-9fabc2ea4d024d5910c3e23c7be19b1d2c93c7ad.tar.gz
Add --no-diff option to allow download/upload of only new files
Diffstat (limited to 'lib/chef')
-rw-r--r--lib/chef/chef_fs/file_system.rb6
-rw-r--r--lib/chef/knife/download.rb6
-rw-r--r--lib/chef/knife/upload.rb6
3 files changed, 16 insertions, 2 deletions
diff --git a/lib/chef/chef_fs/file_system.rb b/lib/chef/chef_fs/file_system.rb
index 385f955806..000a5cf90f 100644
--- a/lib/chef/chef_fs/file_system.rb
+++ b/lib/chef/chef_fs/file_system.rb
@@ -369,8 +369,10 @@ class Chef
return
else
- # Both are files! Copy them unless we're sure they are the same.
- if options[:force]
+ # Both are files! Copy them unless we're sure they are the same.'
+ if options[:diff] == false
+ should_copy = false
+ elsif options[:force]
should_copy = true
src_value = nil
else
diff --git a/lib/chef/knife/download.rb b/lib/chef/knife/download.rb
index 94f1b1b17f..26abcb3acd 100644
--- a/lib/chef/knife/download.rb
+++ b/lib/chef/knife/download.rb
@@ -33,6 +33,12 @@ class Chef
:default => false,
:description => "Don't take action, only print what would happen"
+ option :diff,
+ :long => '--[no-]diff',
+ :boolean => true,
+ :default => true,
+ :description => 'Turn off to avoid uploading existing files; only new (and possibly deleted) files with --no-diff'
+
def run
if name_args.length == 0
show_usage
diff --git a/lib/chef/knife/upload.rb b/lib/chef/knife/upload.rb
index 2b3fbd0e30..7105945a96 100644
--- a/lib/chef/knife/upload.rb
+++ b/lib/chef/knife/upload.rb
@@ -33,6 +33,12 @@ class Chef
:default => false,
:description => "Don't take action, only print what would happen"
+ option :diff,
+ :long => '--[no-]diff',
+ :boolean => true,
+ :default => true,
+ :description => 'Turn off to avoid uploading existing files; only new (and possibly deleted) files with --no-diff'
+
def run
if name_args.length == 0
show_usage