summaryrefslogtreecommitdiff
path: root/lib/chef/provider/git.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/provider/git.rb')
-rw-r--r--lib/chef/provider/git.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/chef/provider/git.rb b/lib/chef/provider/git.rb
index 004e0b550d..d051bb1d92 100644
--- a/lib/chef/provider/git.rb
+++ b/lib/chef/provider/git.rb
@@ -300,7 +300,12 @@ class Chef
# user who is executing `git` not the user running Chef.
env["HOME"] = begin
require "etc"
- Etc.getpwnam(@new_resource.user).dir
+ case @new_resource.user
+ when Integer
+ Etc.getpwuid(@new_resource.user).dir
+ else
+ Etc.getpwnam(@new_resource.user.to_s).dir
+ end
rescue ArgumentError # user not found
raise Chef::Exceptions::User, "Could not determine HOME for specified user '#{@new_resource.user}' for resource '#{@new_resource.name}'"
end