Use branch parameter
authorWłodzimierz Gajda <gajdaw@gajdaw.pl>
Wed, 22 Oct 2014 08:02:29 +0000 (10:02 +0200)
committerWłodzimierz Gajda <gajdaw@gajdaw.pl>
Thu, 29 Jan 2015 10:20:12 +0000 (11:20 +0100)
lib/puppet/provider/vcsrepo/git.rb
lib/puppet/type/vcsrepo.rb

index 9d3f7f3..8a8c12f 100644 (file)
@@ -5,7 +5,7 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
 
   commands :git => 'git'
 
-  has_features :bare_repositories, :reference_tracking, :ssh_identity, :multiple_remotes, :user, :depth, :submodules
+  has_features :bare_repositories, :reference_tracking, :ssh_identity, :multiple_remotes, :user, :depth, :branch, :submodules
 
   def create
     if @resource.value(:revision) and @resource.value(:ensure) == :bare
@@ -180,6 +180,9 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
     if @resource.value(:depth) and @resource.value(:depth).to_i > 0
       args.push('--depth', @resource.value(:depth).to_s)
     end
+    if @resource.value(:branch)
+      args.push('--branch', @resource.value(:branch).to_s)
+    end
     if @resource.value(:ensure) == :bare
       args << '--bare'
     end
index 3bf4029..fdcf9ab 100644 (file)
@@ -40,6 +40,9 @@ Puppet::Type.newtype(:vcsrepo) do
   feature :depth,
           "The provider can do shallow clones"
 
+  feature :branch,
+          "The name of the branch"
+
   feature :p4config,
           "The provider understands Perforce Configuration"
 
@@ -204,6 +207,10 @@ Puppet::Type.newtype(:vcsrepo) do
     desc "The value to be used to do a shallow clone."
   end
 
+  newparam :branch, :required_features => [:branch] do
+    desc "The name of the branch to clone."
+  end
+
   newparam :p4config, :required_features => [:p4config] do
     desc "The Perforce P4CONFIG environment."
   end