summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Ford <ben.ford@puppetlabs.com>2013-03-12 16:20:08 -0700
committerBen Ford <ben.ford@puppetlabs.com>2013-03-12 16:20:08 -0700
commit0cc694a568cbdc3adf2fea805651f2a30a5c99ac (patch)
tree21ea251726469c758d21e623e3894df41487b932 /lib
parentb9018d4903f94d2ef694446ad2843327421304fe (diff)
parent6915fa7e3799ff56233cf7e2c4d24686e435c401 (diff)
Merge pull request #56 from raphink/git_update_origin
Update origin if necessary before checking revision This looks good. Thanks!
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/provider/vcsrepo/git.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/puppet/provider/vcsrepo/git.rb b/lib/puppet/provider/vcsrepo/git.rb
index 6920c75..ad69f7d 100644
--- a/lib/puppet/provider/vcsrepo/git.rb
+++ b/lib/puppet/provider/vcsrepo/git.rb
@@ -93,8 +93,18 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
working_copy_exists? || bare_exists?
end
+ def update_remote_origin_url
+ current = git_with_identity('config', 'remote.origin.url')
+ unless @resource.value(:source).nil?
+ if current.nil? or current.strip != @resource.value(:source)
+ git_with_identity('config', 'remote.origin.url', @resource.value(:source))
+ end
+ end
+ end
+
def update_references
at_path do
+ update_remote_origin_url
git_with_identity('fetch', @resource.value(:remote))
git_with_identity('fetch', '--tags', @resource.value(:remote))
update_owner_and_excludes
@@ -251,6 +261,7 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
create
end
at_path do
+ update_remote_origin_url
git_with_identity('fetch', @resource.value(:remote))
git_with_identity('fetch', '--tags', @resource.value(:remote))
end