summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Turnbull <james@lovedthanlost.net>2012-05-12 21:34:59 -0700
committerJames Turnbull <james@lovedthanlost.net>2012-05-12 21:34:59 -0700
commit6453643104c9ff142677af562584555cc886c8d9 (patch)
tree2adb81d27adc8b9cc30b9644b43987099664d5b4
parent1cc2c98efe923ac98151c59ee026057e664608dd (diff)
parent0f362a13bfafdd14393bdd370e9d196540365837 (diff)
Merge pull request #18 from andihit/master
don't recreate bare repo if it exists already - fixes http://projects.puppetlabs.com/issues/12303
-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 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