aboutsummaryrefslogtreecommitdiffstats
path: root/modules/subversion/manifests/repository.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/subversion/manifests/repository.pp')
-rw-r--r--modules/subversion/manifests/repository.pp80
1 files changed, 41 insertions, 39 deletions
diff --git a/modules/subversion/manifests/repository.pp b/modules/subversion/manifests/repository.pp
index 7f2f8356..b223e6ae 100644
--- a/modules/subversion/manifests/repository.pp
+++ b/modules/subversion/manifests/repository.pp
@@ -2,10 +2,10 @@
# 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
-# cia_post : send commits to cia.vc
-# cia_module : name of the module to send to cia.vc
-# cia_ignore_author : a regexp to ignore commits from some authors
-# no_binary : do not accept files with common binary extensions
+# 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
# syntax_check : array of pre-commit script with syntax check to add
@@ -16,115 +16,117 @@
define subversion::repository($group = 'svn',
$public = true,
$commit_mail = '',
+ $irker_conf = undef,
+ $irkerhook_path = '/usr/lib/irker/irkerhook.py',
$i18n_mail = '',
- $cia_post = true,
- $cia_module = 'default',
- $cia_ignore_author = '',
$no_binary = false,
$restricted_to_user = false,
$syntax_check = '',
$extract_dir = '') {
# check permissions
- # http://svnbook.red-bean.com/nightly/fr/svn.serverconfig.multimethod.html
+ # https://svnbook.red-bean.com/nightly/fr/svn.serverconfig.multimethod.html
# $name ==> directory of the repo
include subversion::server
# TODO set umask -> requires puppet 2.7.0
- # unfortunatly, umask is required
- # http://projects.puppetlabs.com/issues/4424
- exec { "/usr/local/bin/create_svn_repo.sh $name":
+ # unfortunately, umask is required
+ # https://projects.puppetlabs.com/issues/4424
+ exec { "/usr/local/bin/create_svn_repo.sh ${name}":
user => 'root',
group => $group,
- creates => "$name/hooks",
+ creates => "${name}/hooks",
require => Package['subversion-tools'],
}
file { $name:
+ ensure => directory,
group => $group,
owner => 'root',
mode => $public ? {
- true => 644,
- false => 640,
+ true => '0644',
+ false => '0640',
},
- ensure => directory
}
- file { ["$name/hooks/pre-commit","$name/hooks/post-commit"]:
+ file { ["${name}/hooks/pre-commit","${name}/hooks/post-commit"]:
mode => '0755',
content => template('subversion/hook_commit.sh'),
- require => Exec["/usr/local/bin/create_svn_repo.sh $name"],
+ require => Exec["/usr/local/bin/create_svn_repo.sh ${name}"],
}
- file { ["$name/hooks/post-commit.d", "$name/hooks/pre-commit.d"]:
+ file { ["${name}/hooks/post-commit.d", "${name}/hooks/pre-commit.d"]:
ensure => directory,
- require => File["$name/hooks/pre-commit"],
+ require => File["${name}/hooks/pre-commit"],
}
- file { "$name/hooks/pre-revprop-change":
- ensure => "$subversion::server::local_dir/pre-revprop-change",
+ file { "${name}/hooks/pre-revprop-change":
+ ensure => "${subversion::server::local_dir}/pre-revprop-change",
mode => '0755',
- require => File["$name/hooks/pre-commit"],
+ require => File["${name}/hooks/pre-commit"],
}
if $restricted_to_user {
- subversion::hook::pre_commit { "$name|restricted_to_user":
+ subversion::hook::pre_commit { "${name}|restricted_to_user":
content => template('subversion/restricted_to_user'),
}
} else {
- file { "$name/hooks/pre-commit.d/restricted_to_user":
+ file { "${name}/hooks/pre-commit.d/restricted_to_user":
ensure => absent,
}
}
if $commit_mail {
- subversion::hook::post_commit { "$name|send_mail":
+ subversion::hook::post_commit { "${name}|send_mail":
content => template('subversion/hook_sendmail.pl'),
require => Package['perl-SVN-Notify-Config'],
}
} else {
- file { "$name/hooks/post-commit.d/send_mail":
+ file { "${name}/hooks/post-commit.d/send_mail":
ensure => absent,
}
}
- if $cia_post {
- subversion::hook::post_commit { "$name|cia.vc":
- content => template('subversion/ciabot_svn.sh'),
+ 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/cia.vc":
+ file { "${name}/hooks/post-commit.d/irker":
ensure => absent,
}
}
if $no_binary {
- pre_commit_link { "$name/hooks/pre-commit.d/no_binary": }
+ pre_commit_link { "${name}/hooks/pre-commit.d/no_binary": }
} else {
- file { "$name/hooks/pre-commit.d/no_binary":
+ file { "${name}/hooks/pre-commit.d/no_binary":
ensure => absent,
}
}
if $extract_dir {
- subversion::hook::post_commit {"$name|extract_dir":
+ subversion::hook::post_commit {"${name}|extract_dir":
content => template('subversion/hook_extract.pl'),
require => [Package['perl-SVN-Notify-Mirror']],
}
} else {
- file { "$name/hooks/post-commit.d/extract_dir":
+ file { "${name}/hooks/post-commit.d/extract_dir":
ensure => absent,
}
}
- pre_commit_link { "$name/hooks/pre-commit.d/no_empty_message": }
+ pre_commit_link { "${name}/hooks/pre-commit.d/no_empty_message": }
+
+ pre_commit_link { "${name}/hooks/pre-commit.d/no_root_commit": }
- pre_commit_link { "$name/hooks/pre-commit.d/no_root_commit": }
+ pre_commit_link { "${name}/hooks/pre-commit.d/converted_to_git": }
if $syntax_check {
- $syntax_check_array = regsubst($syntax_check,'^',"$name/hooks/pre-commit.d/")
+ $syntax_check_array = regsubst($syntax_check,'^',"${name}/hooks/pre-commit.d/")
pre_commit_link { $syntax_check_array: }
}
}
-
-