diff options
-rw-r--r-- | modules/subversion/manifests/repository.pp | 19 | ||||
-rw-r--r-- | modules/subversion/templates/hook_irker | 4 | ||||
-rw-r--r-- | modules/subversion/templates/irker.conf | 7 |
3 files changed, 30 insertions, 0 deletions
diff --git a/modules/subversion/manifests/repository.pp b/modules/subversion/manifests/repository.pp index 7d9d6265..60846339 100644 --- a/modules/subversion/manifests/repository.pp +++ b/modules/subversion/manifests/repository.pp @@ -2,6 +2,9 @@ # group : group that have commit access on the svn # public : boolean if the svn is readable by anybody or not # commit_mail : array of people who will receive mail after each commit +# irker_conf : hash containing irker config values. See man irkerhook +# for possible values in irker.conf. +# irkerhook_path : path to irkerhook.py script # no_binary : do not accept files with common binary extensions # on this repository # restricted_to_user : restrict commits to select user @@ -13,6 +16,8 @@ define subversion::repository($group = 'svn', $public = true, $commit_mail = '', + $irker_conf = undef, + $irkerhook_path = '/usr/lib/irker/irkerhook.py', $i18n_mail = '', $no_binary = false, $restricted_to_user = false, @@ -81,6 +86,20 @@ define subversion::repository($group = 'svn', } + if $irker_conf { + subversion::hook::post_commit { "$name|irker": + content => template('subversion/hook_irker'), + } + file { "$name/irker.conf": + content => template('subversion/irker.conf'), + } + } else { + file { "$name/hooks/post-commit.d/irker": + ensure => absent, + } + } + + if $no_binary { pre_commit_link { "$name/hooks/pre-commit.d/no_binary": } } else { diff --git a/modules/subversion/templates/hook_irker b/modules/subversion/templates/hook_irker new file mode 100644 index 00000000..8fd7a874 --- /dev/null +++ b/modules/subversion/templates/hook_irker @@ -0,0 +1,4 @@ +#!/bin/sh +REPO=$1 +REV=$2 +<%= irkerhook_path %> --repository=$REPO $REV diff --git a/modules/subversion/templates/irker.conf b/modules/subversion/templates/irker.conf new file mode 100644 index 00000000..d037a120 --- /dev/null +++ b/modules/subversion/templates/irker.conf @@ -0,0 +1,7 @@ +<%- + content = '' + @irker_conf.keys.sort.each {|key| + content += key + ' = ' + @irker_conf[key] + "\n" + } +-%> +<%= content %> |