diff options
author | Bruce Williams <bruce@codefluency.com> | 2010-03-15 11:16:22 -0700 |
---|---|---|
committer | Bruce Williams <bruce@codefluency.com> | 2010-03-15 11:16:22 -0700 |
commit | 4b8e7074e62900ed796cc05bb67a7561f40f899a (patch) | |
tree | 2e0e801b21605ca74d18317adff0930088101597 /lib/puppet/provider/vcsrepo/git.rb | |
parent | 52e078444a12d47530a4299d0e9d60b86066c76e (diff) |
ensure = latest to support reference tracking.\n\nWorking with tags, more work needed for branches (at least with git)
Diffstat (limited to 'lib/puppet/provider/vcsrepo/git.rb')
-rw-r--r-- | lib/puppet/provider/vcsrepo/git.rb | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/puppet/provider/vcsrepo/git.rb b/lib/puppet/provider/vcsrepo/git.rb index 274f25b..ba5065e 100644 --- a/lib/puppet/provider/vcsrepo/git.rb +++ b/lib/puppet/provider/vcsrepo/git.rb @@ -5,7 +5,7 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo) commands :git => 'git' defaultfor :git => :exists - has_features :bare_repositories + has_features :bare_repositories, :reference_tracking def create if !@resource.value(:source) @@ -37,7 +37,7 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo) end def revision=(desired) - fetch + pull reset(desired) end @@ -48,6 +48,16 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo) def working_copy_exists? File.directory?(File.join(@resource.value(:path), '.git')) end + + def exists? + working_copy_exists? || bare_exists? + end + + def update_references + at_path do + git('fetch', '--tags', 'origin') + end + end private @@ -68,9 +78,9 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo) git(*args) end - def fetch + def pull at_path do - git('fetch', 'origin') + git('pull', 'origin') end end |