summaryrefslogtreecommitdiff
path: root/lib/puppet/type/vcsrepo.rb
diff options
context:
space:
mode:
authorBrett Lentz <blentz@classmates.com>2010-09-13 16:20:58 -0700
committerBrett Lentz <blentz@classmates.com>2010-09-13 16:32:26 -0700
commit81787d494012f969e10d4af34193c8e81a6dc8b7 (patch)
treee0b0eed097f83d3050e2f0fc618055d1472912f0 /lib/puppet/type/vcsrepo.rb
parentf9f8a808faa0e9d6e83f2c5af880c8080ef9776e (diff)
new features for vcsrepo.
* support recursive chown on repo * support checking out tags (git) * support adding excludes/ignored files * dropped a few unused methods * rework git provider logic a bit
Diffstat (limited to 'lib/puppet/type/vcsrepo.rb')
-rw-r--r--lib/puppet/type/vcsrepo.rb26
1 files changed, 22 insertions, 4 deletions
diff --git a/lib/puppet/type/vcsrepo.rb b/lib/puppet/type/vcsrepo.rb
index 8b2d93e..f0d2613 100644
--- a/lib/puppet/type/vcsrepo.rb
+++ b/lib/puppet/type/vcsrepo.rb
@@ -17,10 +17,10 @@ Puppet::Type.newtype(:vcsrepo) do
feature :reference_tracking,
"The provider supports tracking revision references that can change
over time (eg, some VCS tags and branch names)"
-
+
ensurable do
attr_accessor :latest
-
+
def insync?(is)
@should ||= []
@@ -36,8 +36,8 @@ Puppet::Type.newtype(:vcsrepo) do
return false
end
end
- end
-
+ end
+
newvalue :present do
provider.create
end
@@ -108,6 +108,24 @@ Puppet::Type.newtype(:vcsrepo) do
newvalue(/^\S+$/)
end
+ newparam(:owner) do
+ desc "The user/uid that owns the repository files"
+ end
+
+ newparam(:group) do
+ desc "The group/gid that owns the repository files"
+ end
+
+ newparam(:excludes) do
+ desc "Files to be excluded from the repository"
+ end
+
+ newparam(:force) do
+ desc "Force repository creation, destroying any files on the path in the process."
+ newvalues(:true, :false)
+ defaultto false
+ end
+
newparam :compression, :required_features => [:gzip_compression] do
desc "Compression level"
validate do |amount|