summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/provider/vcsrepo/cvs.rb6
-rw-r--r--lib/puppet/type/vcsrepo.rb7
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/puppet/provider/vcsrepo/cvs.rb b/lib/puppet/provider/vcsrepo/cvs.rb
index fbe2eae..b4245bf 100644
--- a/lib/puppet/provider/vcsrepo/cvs.rb
+++ b/lib/puppet/provider/vcsrepo/cvs.rb
@@ -5,7 +5,7 @@ Puppet::Type.type(:vcsrepo).provide(:cvs, :parent => Puppet::Provider::Vcsrepo)
commands :cvs => 'cvs'
defaultfor :cvs => :exists
- has_features :gzip_compression, :reference_tracking
+ has_features :gzip_compression, :reference_tracking, :modules
def create
if !@resource.value(:source)
@@ -72,7 +72,9 @@ Puppet::Type.type(:vcsrepo).provide(:cvs, :parent => Puppet::Provider::Vcsrepo)
# When the source:
# * Starts with ':' (eg, :pserver:...)
def module_name
- if (source = @resource.value(:source))
+ if (m = @resource.value(:module))
+ m
+ elsif (source = @resource.value(:source))
source[0, 1] == ':' ? File.basename(source) : '.'
end
end
diff --git a/lib/puppet/type/vcsrepo.rb b/lib/puppet/type/vcsrepo.rb
index 9bf8311..655549a 100644
--- a/lib/puppet/type/vcsrepo.rb
+++ b/lib/puppet/type/vcsrepo.rb
@@ -22,6 +22,9 @@ Puppet::Type.newtype(:vcsrepo) do
feature :ssh_identity,
"The provider supports a configurable SSH identity file"
+ feature :modules,
+ "The repository contains modules that can be chosen of"
+
ensurable do
attr_accessor :latest
@@ -148,4 +151,8 @@ Puppet::Type.newtype(:vcsrepo) do
newparam :identity, :required_features => [:ssh_identity] do
desc "SSH identity file"
end
+
+ newparam :module, :required_features => [:modules] do
+ desc "The repository module to manage"
+ end
end