MODULES-2131 Git provider now takes account of revision property when using depth...
authorJonathan Tripathy <jt@puppetlabs.com>
Mon, 22 Jun 2015 14:22:16 +0000 (15:22 +0100)
committerJonathan Tripathy <jt@puppetlabs.com>
Mon, 22 Jun 2015 14:22:16 +0000 (15:22 +0100)
lib/puppet/provider/vcsrepo/git.rb
spec/unit/puppet/provider/vcsrepo/git_spec.rb

index 13e0793..4603029 100644 (file)
@@ -125,6 +125,9 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
     args = ['clone']
     if @resource.value(:depth) and @resource.value(:depth).to_i > 0
       args.push('--depth', @resource.value(:depth).to_s)
+      if @resource.value(:revision)
+        args.push('--branch', @resource.value(:revision).to_s)
+      end
     end
     if @resource.value(:ensure) == :bare
       args << '--bare'
index 116e357..29c6b3b 100644 (file)
@@ -60,7 +60,7 @@ branches
         resource[:depth] = 1
         Dir.expects(:chdir).with('/').at_least_once.yields
         Dir.expects(:chdir).with('/tmp/test').at_least_once.yields
-        provider.expects(:git).with('clone', '--depth', '1', resource.value(:source), resource.value(:path))
+        provider.expects(:git).with('clone', '--depth', '1', '--branch', resource.value(:revision),resource.value(:source), resource.value(:path))
         provider.expects(:update_submodules)
         provider.expects(:git).with('branch', '-a').returns(branch_a_list(resource.value(:revision)))
         provider.expects(:git).with('checkout', '--force', resource.value(:revision))