summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBruce Williams <bruce@codefluency.com>2010-03-18 10:54:38 -0700
committerBruce Williams <bruce@codefluency.com>2010-03-18 10:54:38 -0700
commitdc64158c8cb818b7f583f5f7c8b5ce5197338ee0 (patch)
treee56556ab7bf221df39ee0714d3d9f99828485836 /lib
parent3439ff1939e1b547ac732fd5095b2d362296a0af (diff)
Add submodule support to git provider
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/provider/vcsrepo/git.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/puppet/provider/vcsrepo/git.rb b/lib/puppet/provider/vcsrepo/git.rb
index df85ff0..e511a10 100644
--- a/lib/puppet/provider/vcsrepo/git.rb
+++ b/lib/puppet/provider/vcsrepo/git.rb
@@ -19,6 +19,9 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
reset(@resource.value(:revision))
end
end
+ if @resource.value(:ensure) != :bare
+ update_submodules
+ end
end
end
@@ -39,6 +42,9 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
def revision=(desired)
fetch
reset(desired)
+ unless @resource.value(:ensure) == :bare
+ update_submodules
+ end
end
def bare_exists?
@@ -150,4 +156,11 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
end
end
+ def update_submodules
+ at_path do
+ git('submodule', 'init')
+ git('submodule', 'update')
+ end
+ end
+
end