diff --git a/svn/manifests/init.pp b/svn/manifests/init.pp index c1040ba..39267cf 100644 --- a/svn/manifests/init.pp +++ b/svn/manifests/init.pp @@ -6,6 +6,15 @@ class svn::client { ensure => installed, } + file { "/etc/subversion/servers": + ensure => present, + mode => 0644, + owner => root, + group => root, + content => template("svn/servers.erb"), + require => Package["subversion"], + } + } @@ -33,7 +42,7 @@ define svn::checkout($source, $revision="HEAD") { path => "/bin:/usr/bin:/sbin:/usr/sbin", command => "svn checkout --non-interactive -r ${revision} ${source} ${name}", unless => "test -d ${name}", - require => Package["subversion"], + require => [ Package["subversion"], File["/etc/subversion/servers"], ], } exec { "svn-up-${name}": @@ -77,6 +86,7 @@ define svn::export($source, $revision="HEAD") { "HEAD" => "test -r ${name}/.svnrevision && test $(svn info --non-interactive ${source} 2>&1 | awk '/^Last Changed Rev:/ { print \$4 }') != $(cat ${name}/.svnrevision)", default => "test -r ${name}/.svnrevision && test ${revision} != $(cat ${name}/.svnrevision)", }, + require => [ Package["subversion"], File["/etc/subversion/servers"], ], } exec { "svn-export-${name}": diff --git a/svn/templates/servers.erb b/svn/templates/servers.erb new file mode 100644 index 0000000..a3d5068 --- /dev/null +++ b/svn/templates/servers.erb @@ -0,0 +1,9 @@ +[global] +<% +if has_variable?("http_proxy") + http_proxy_host, http_proxy_port = http_proxy.split(":") + http_proxy_port = "80" if http_proxy_port.nil? +-%> +http-proxy-host = <%= http_proxy_host %> +http-proxy-port = <%= http_proxy_port %> +<% end -%>