Sha256: fd34ef468f54390cb4dee0e03522ca6a3d0ef3d87d727e7f102d2ce525ab71c5

Contents?: true

Size: 1.51 KB

Versions: 50

Compression:

Stored size: 1.51 KB

Contents

module PoolParty    
  class Svn
        
    define_resource(:svn) do
      
      def has_svnpath(opts={})
        call_function <<-EOE
        svnserve { #{opts[:name]}:
          source => "#{opts[:source]}",
          path => "#{opts[:path]}",
          user => "#{opts[:user] || false}",
          password => "#{opts[:password] || ""}"
        }
        EOE
      end
      
      custom_function <<-EOF
      # Serve subversion-based code from a local location.  The job of this
      # module is to check the data out from subversion and keep it up to
      # date, especially useful for providing data to your Puppet server.
      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
          }
      }
      EOF
    end
    
  end
end

Version data entries

50 entries across 50 versions & 2 rubygems

Version Path
auser-poolparty-0.2.15 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.16 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.2 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.20 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.21 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.22 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.23 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.24 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.25 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.26 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.3 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.35 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.36 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.37 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.38 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.39 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.4 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.40 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.41 lib/poolparty/plugins/svn.rb
auser-poolparty-0.2.42 lib/poolparty/plugins/svn.rb