define git::snapshot( $source, $refresh = '*/5', $user = 'root', $branch = 'master') { include git::client #TODO # should handle branch -> clone -n + branch + checkout # create a script # Idealy, should be handled by vcsrepo # https://github.com/bruce/puppet-vcsrepo # once it is merged in puppet exec { "/usr/bin/git clone -b ${branch} ${source} ${name}": creates => $name, user => $user } if ($refresh != '0') { cron { "update ${name}": command => "cd ${name} && /usr/bin/git pull -q && /usr/bin/git submodule --quiet update --init --recursive", user => $user, minute => $refresh } } }