
If vcsrepo is used with ensure => latest to keep something from a larger repository checked out it will trigger an update every time something changes anywhere in the repository, not just in the part that’s actually checked out. In combination with a busy development team and a vcsrepo resource with notify => Service[foo] this means frequent restarts of a service for no good reason. The attached patch solves the issue by looking at the “Last Changed Rev” line from svn info instead of “Revision”. Patch thanks to: Knut Arne Bjørndal
Using vcsrepo with Subversion
To create a blank repository
To create a blank repository suitable for use as a central repository,
define a vcsrepo
without a source
or revision
:
vcsrepo { "/path/to/repo":
ensure => present,
provider => svn
}
To checkout from a repository
Provide a source
qualified to the branch/tag you want:
vcsrepo { "/path/to/repo":
ensure => present,
provider => svn,
source => "svn://svnrepo/hello/branches/foo"
}
You can provide a specific revision
:
vcsrepo { "/path/to/repo":
ensure => present,
provider => svn,
source => "svn://svnrepo/hello/branches/foo",
revision => '1234'
}
For sources that use SSH (eg, svn+ssh://...
)
Manage your SSH keys with Puppet and use require
in your vcsrepo
to ensure they are present. For more information, see the require
metaparameter documentation1.
More Examples
For examples you can run, see examples/svn/
Description
Languages
Ruby
100%