summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrice Figureau <brice-puppet@daysofwonder.com>2009-03-23 23:17:11 +0100
committerJames Turnbull <james@lovedthanlost.net>2009-03-27 00:05:52 +1100
commitcbee426854c09fae4d9675edb787d4563e9b9ac8 (patch)
tree32d00df2fc3d10486e4aa2f29337006fd6093aa4
parent3b4816b842f1dc3febe95df2b9ae25cfabc5a2df (diff)
downloadpuppet-cbee426854c09fae4d9675edb787d4563e9b9ac8.tar.gz
puppet-cbee426854c09fae4d9675edb787d4563e9b9ac8.tar.xz
puppet-cbee426854c09fae4d9675edb787d4563e9b9ac8.zip
Fix #2101 - Return to recurse=0 == no recursion behavior
Ticket #1469 introduced an incorrect change of behaviour where recurse = 0 was considered as an infinite recursion, unlike before. This patch restores this behavior, and makes some test pass. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
-rw-r--r--lib/puppet/type/file.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/puppet/type/file.rb b/lib/puppet/type/file.rb
index 05a4b37f9..0cd9ebece 100644
--- a/lib/puppet/type/file.rb
+++ b/lib/puppet/type/file.rb
@@ -128,11 +128,20 @@ module Puppet
when :remote: :remote
when Integer, Fixnum, Bignum:
self.warning "Setting recursion depth with the recurse parameter is now deprecated, please use recurselimit"
+
+ # recurse == 0 means no recursion
+ return false if value == 0
+
resource[:recurselimit] = value
true
when /^\d+$/:
self.warning "Setting recursion depth with the recurse parameter is now deprecated, please use recurselimit"
- resource[:recurselimit] = Integer(value)
+ value = Integer(value)
+
+ # recurse == 0 means no recursion
+ return false if value == 0
+
+ resource[:recurselimit] = value
true
else
raise ArgumentError, "Invalid recurse value %s" % value.inspect