summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Danna <steve@opscode.com>2013-10-22 16:48:43 -0700
committerSteven Danna <steve@opscode.com>2013-10-22 16:48:43 -0700
commit730a3dfae8f34704a3872e93ba15d37f44928b64 (patch)
treed636d7e2efae626fb525d2680c3ebbef980d7084
parente332c6d44e604864e80fdd5ac9f6ee31cb48d1da (diff)
downloadchef-ssd/CHEF-4596.tar.gz
[CHEF-4596] Avoid | operator when merging arrays to avoid deduplication.ssd/CHEF-4596
-rw-r--r--chef/lib/chef/mixin/deep_merge.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/chef/lib/chef/mixin/deep_merge.rb b/chef/lib/chef/mixin/deep_merge.rb
index dd6e946ba1..55ca521a6f 100644
--- a/chef/lib/chef/mixin/deep_merge.rb
+++ b/chef/lib/chef/mixin/deep_merge.rb
@@ -181,7 +181,9 @@ class Chef
puts if merge_debug
end
puts "#{di} merging arrays: #{source.inspect} :: #{dest.inspect}" if merge_debug
- dest = dest | source
+ source.each do |i|
+ dest << i unless dest.include?(i)
+ end
dest.sort! if sort_merged_arrays
elsif overwrite_unmergeable
puts "#{di} overwriting dest: #{source.inspect} -over-> #{dest.inspect}" if merge_debug