diff options
author | Steven Danna <steve@opscode.com> | 2013-10-22 16:48:43 -0700 |
---|---|---|
committer | Steven Danna <steve@opscode.com> | 2013-10-22 16:48:43 -0700 |
commit | 730a3dfae8f34704a3872e93ba15d37f44928b64 (patch) | |
tree | d636d7e2efae626fb525d2680c3ebbef980d7084 | |
parent | e332c6d44e604864e80fdd5ac9f6ee31cb48d1da (diff) | |
download | chef-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.rb | 4 |
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 |