summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsawanoboly <sawanoboriyu@higanworks.com>2018-02-15 15:28:12 +0900
committersawanoboly <sawanoboriyu@higanworks.com>2018-02-15 15:29:28 +0900
commitc5c196d283470abc17b6af34a6ec6a54e647a419 (patch)
tree1ea59c93daf7de9252821e772fbde76190bb3807
parent01ae5aac80444d6e849bb44ba0f5798e46978c7f (diff)
downloadchef-c5c196d283470abc17b6af34a6ec6a54e647a419.tar.gz
check identifier to resolve exported cookbooks by chef export
Signed-off-by: SAWANOBORI Yukihiko <sawanoboriyu@higanworks.com>
-rw-r--r--lib/chef/chef_fs/chef_fs_data_store.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/chef/chef_fs/chef_fs_data_store.rb b/lib/chef/chef_fs/chef_fs_data_store.rb
index 4f248625b3..59f15d5345 100644
--- a/lib/chef/chef_fs/chef_fs_data_store.rb
+++ b/lib/chef/chef_fs/chef_fs_data_store.rb
@@ -309,7 +309,10 @@ class Chef
elsif %w{cookbooks cookbook_artifacts}.include?(path[0]) && path.length == 3
with_entry([path[0]]) do |entry|
cookbook_type = path[0]
- cookbook_entry = entry.children.select { |child| child.chef_object.full_name == "#{path[1]}-#{path[2]}" }[0]
+ cookbook_entry = entry.children.select { |child|
+ child.chef_object.full_name == "#{path[1]}-#{path[2]}" ||
+ (child.chef_object.name.to_s == path[1] && child.chef_object.identifier == path[2])
+ }[0]
raise ChefZero::DataStore::DataNotFoundError.new(path) if cookbook_entry.nil?
result = nil
begin