# # Example usage: # svnserve { dist: # source => "https://reductivelabs.com/svn", # path => "/dist", # user => "puppet", # password => "mypassword" # } define svnserve($source, $path, $user = false, $password = false) { file { $path: ensure => directory, owner => root, group => root } $svncmd = $user ? { false => "/usr/bin/svn co --non-interactive $source/$name .", default => "/usr/bin/svn co --non-interactive --username $user --password '$password' $source/$name ." } exec { "svnco-$name": command => $svncmd, cwd => $path, require => file[$path], creates => "$path/.svn" } exec { "svnupdate-$name": command => "/usr/bin/svn update", require => exec["svnco-$name"], onlyif => "/usr/bin/svn status -u --non-interactive | /bin/grep '\*'", cwd => $path } } # $Id: svnserve.pp 190 2006-08-28 23:35:56Z luke $