summaryrefslogtreecommitdiff
path: root/lib/puppet/type/vcsrepo.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/type/vcsrepo.rb')
-rw-r--r--lib/puppet/type/vcsrepo.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/puppet/type/vcsrepo.rb b/lib/puppet/type/vcsrepo.rb
index 4d5c2a0..b093910 100644
--- a/lib/puppet/type/vcsrepo.rb
+++ b/lib/puppet/type/vcsrepo.rb
@@ -9,6 +9,22 @@ Puppet::Type.newtype(:vcsrepo) do
newvalue :bare do
provider.create
end
+
+ def retrieve
+ prov = @resource.provider
+ if prov
+ if prov.respond_to?(:working_copy_exists?) && prov.working_copy_exists?
+ :present
+ elsif prov.respond_to?(:bare_exists?) && prov.bare_exists?
+ :bare
+ else
+ :absent
+ end
+ else
+ :absent
+ end
+ end
+
end
newparam(:path) do