Hello all,

I'd like to use the vcsrepo to manage multiple git repository on our "git 
server", but while looking at the documentation (and code) of the vcsrepo 
module I noticed that it doesn't manage the initialization of a repository 
with the option --shared , an option that usually we set to be able to 
easily work as group on a repository.

I'd like to define on my manifest something like this:

  vcsrepo { 
"/shared/myrepo":                                                               
              

      ensure   => 
bare,                                                                           
                

      provider => 
git,                                                                            
                

      shared   => 
true,                                                                           
                

      owner    => 
'myuser',                                                                       
              

      group    => 
'sharedgroup',                                                                  
                  

  }         


To achieve this I've done a small change on the code (at the end of the 
mail), it works but I wonder if there are better way to get my goal or if 
you think that this could be useful to someone else and so I should send a 
PR.

Thanks for the feedbacks.

---
Riccardo

diff --git a/common/vcsrepo/lib/puppet/provider/vcsrepo/git.rb 
b/common/vcsrepo/lib/puppet/provider/vcsrepo/git.rb
index 5c878ed..bf30f57 100644
--- a/common/vcsrepo/lib/puppet/provider/vcsrepo/git.rb
+++ b/common/vcsrepo/lib/puppet/provider/vcsrepo/git.rb
@@ -181,6 +181,9 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => 
Puppet::Provider::Vcsrepo)
       if @resource.value(:ensure) == :bare
         args << '--bare'
       end
+      if @resource.value(:shared) 
+        args << '--shared'
+      end
       at_path do
         git_with_identity(*args)
       end
diff --git a/common/vcsrepo/lib/puppet/type/vcsrepo.rb 
b/common/vcsrepo/lib/puppet/type/vcsrepo.rb
index 3dd7bc6..a0ee991 100644
--- a/common/vcsrepo/lib/puppet/type/vcsrepo.rb
+++ b/common/vcsrepo/lib/puppet/type/vcsrepo.rb
@@ -204,6 +204,10 @@ Puppet::Type.newtype(:vcsrepo) do
     desc "The value to be used to do a shallow clone."
   end
 
+  newparam :shared do
+    desc "Define if the repository is shared (git) "
+  end
+
   autorequire(:package) do
     ['git', 'git-core']
   end

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/014ef921-66f8-458b-bb69-0c80a45e07ca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to