summaryrefslogtreecommitdiff
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/provider/vcsrepo/hg.rb5
-rw-r--r--lib/puppet/type/vcsrepo.rb6
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 e291066..231ce93 100644
--- a/lib/puppet/type/vcsrepo.rb
+++ b/lib/puppet/type/vcsrepo.rb
@@ -43,6 +43,8 @@ Puppet::Type.newtype(:vcsrepo) do
else
return false
end
+ when :bare
+ return is == :bare
end
end
@@ -51,7 +53,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