diff options
-rw-r--r-- | lib/puppet/provider/vcsrepo/hg.rb | 5 | ||||
-rw-r--r-- | lib/puppet/type/vcsrepo.rb | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/puppet/provider/vcsrepo/hg.rb b/lib/puppet/provider/vcsrepo/hg.rb index 54205c2..0be5e08 100644 --- a/lib/puppet/provider/vcsrepo/hg.rb +++ b/lib/puppet/provider/vcsrepo/hg.rb @@ -65,7 +65,10 @@ Puppet::Type.type(:vcsrepo).provide(:hg, :parent => Puppet::Provider::Vcsrepo) d def revision=(desired) at_path do - hg('pull') + begin + hg('pull') + rescue + end begin hg('merge') rescue Puppet::ExecutionFailure diff --git a/lib/puppet/type/vcsrepo.rb b/lib/puppet/type/vcsrepo.rb index 9824726..2792cfe 100644 --- a/lib/puppet/type/vcsrepo.rb +++ b/lib/puppet/type/vcsrepo.rb @@ -40,6 +40,8 @@ Puppet::Type.newtype(:vcsrepo) do else return false end + when :bare + return is == :bare end end @@ -48,7 +50,9 @@ Puppet::Type.newtype(:vcsrepo) do end newvalue :bare, :required_features => [:bare_repositories] do - provider.create + if !provider.exists? + provider.create + end end newvalue :absent do |