class svnproxy { define svnserve(source, path, source, user = false, password = false) { file { $path: create => directory, owner => root, group => root, recurse => true } $svncmd = $user ? { false => "/usr/bin/svn co --non-interactive $source/$name", default => "/usr/bin/svn co --non-interactive --user $user --password '$password' $source/$name" } exec { $svncmd: cwd => $path, require => file[$path], creates => "$path/$name" } exec { "/usr/bin/svn update": cwd => "$path/$name", require => exec[$svncmd] } } remotefile { "/root/.subversion": mode => 755, recurse => true, source => "svn/root" } svnserve { dist: source => "https://madstop.com/svn", path => "/", user => "cfengine", password => "blahblah" } svnserve { naginator: source => "https://madstop.com/svn", path => "/dist", user => "cfengine", password => "blahblah" } #svnserve { configtest: # source => "https://madstop.com/svn" # repository => "dist" # path => "/tmp/dist" # user => "cfengine" # password => "blahblah" #} }