diff options
Diffstat (limited to 'lib/puppet/provider/vcsrepo')
-rw-r--r-- | lib/puppet/provider/vcsrepo/git.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/puppet/provider/vcsrepo/git.rb b/lib/puppet/provider/vcsrepo/git.rb index 58330f6..8470ea8 100644 --- a/lib/puppet/provider/vcsrepo/git.rb +++ b/lib/puppet/provider/vcsrepo/git.rb @@ -126,8 +126,12 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo) private + def valid_repo? + Dir.chdir(@resource.value(:path)){ system('git rev-parse > /dev/null 2>&1')} + end + def bare_git_config_exists? - File.exist?(File.join(@resource.value(:path), 'config')) + File.exist?(File.join(@resource.value(:path), 'config')) && valid_repo? end def clone_repository(source, path) @@ -148,7 +152,7 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo) def check_force if path_exists? - if @resource.value(:force) + if @resource.value(:force) && !valid_repo? notice "Removing %s to replace with vcsrepo." % @resource.value(:path) destroy else |