diff --git a/manifests/plugin.pp b/manifests/plugin.pp index d4e86a4..31ddc2e 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -46,6 +46,7 @@ timeout => $timeout, cwd => $destination, require => Exec["rbenv::plugin::checkout ${user} ${plugin_name}"], + onlyif => 'git remote update; if [ "$(git rev-parse @{0})" = "$(git rev-parse @{u})" ]; then return 0; else return 1; fi ]', } } diff --git a/spec/defines/rbenv__plugin_spec.rb b/spec/defines/rbenv__plugin_spec.rb index 2dbe067..20181af 100644 --- a/spec/defines/rbenv__plugin_spec.rb +++ b/spec/defines/rbenv__plugin_spec.rb @@ -26,7 +26,10 @@ :user => user, :cwd => target_path, :require => /rbenv::plugin::checkout #{user} #{plugin_name}/, - :path => ['/bin','/usr/bin','/usr/sbin'] + :path => ['/bin','/usr/bin','/usr/sbin'], + :onlyif => 'git remote update; ' \ + 'if [ "$(git rev-parse @{0})" = "$(git rev-parse @{u})" ]; ' \ + 'then return 0; else return 1; fi ]' ) end