puppet/mercurial/manifests/init.pp
Ossi Salmi 74d93dae34 Removed deprecated classes:
* git::client
  * mercurial::client
  * svn::client
  * wiki::collab::base
  * wiki::collab::ramcache
2013-08-03 00:10:39 +03:00

43 lines
895 B
Puppet

# Install Mercurial.
#
class mercurial {
package { "mercurial":
ensure => installed,
}
}
# Clone repository.
#
# === Parameters
#
# $name:
# Destination directory.
# $source:
# Source URL.
# $ensure:
# Revision. Defaults to tip.
#
define mercurial::clone($source, $ensure="tip") {
exec { "hg-clone-${name}":
path => "/bin:/usr/bin:/sbin:/usr/sbin",
command => "hg -y clone -r ${ensure} ${source} ${name}",
creates => $name,
require => Package["mercurial"],
}
exec { "hg-pull-${name}":
path => "/bin:/usr/bin:/sbin:/usr/sbin",
cwd => $name,
command => "hg -y pull -u -r ${ensure}",
onlyif => $ensure ? {
"tip" => "hg -y in",
default => "test $(hg -y id -i) != ${ensure}",
},
require => Exec["hg-clone-${name}"],
}
}