The Puppet Labs Issue Tracker has Moved:

Subversion Repository Module

I have published my code for creating and checking out Subversion repositories as a module. It’s pretty easy to use:

import 'subversion/svnrepo'

# Creates the repository at /var/lib/svn/puppet
svnrepo { puppet: path => "/var/lib/svn" }

import 'subversion/svnserve'

# Checks out the repository at /var/lib/puppet
svnserve { puppet: source => "file:///var/lib/svn", path => "/var/lib/puppet" }


The patch below corrects a couple errors I found:

The module uses username & password only on checkouts, not on updates or onlyif checks. Checks, thereby, fails with an error value of 1 and consequently does not perfom the updates.

I added a svnparms var in the module, that is used on every invocation. Other svn parameters can be added there, if needed. (May be svnserve.pp should be modified so svnparms can be passed to the module as a parameter, like this?:

svnserve { puppet:
    source => "file:///var/lib/svn",
    svnparms = "--username AAAA --other parameter",
    path => "/var/lib/puppet"


Also, the check for updates in the module ignores deleted files, that are marked with “!” by subversion. I modified the grep command to consider these files. Maybe there are other svn options to consider?.

Sorry if this is not the proper place for this patch, but I didn’t know who to contact. ;)