diff options
author | Nicolas Vigier <boklm@mageia.org> | 2010-12-21 19:20:24 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2010-12-21 19:20:24 +0000 |
commit | a3082b0aa13b26952e9db674af8f62555615fccf (patch) | |
tree | eba658eb5fbadec35ca241c6fdee83d07fa607c2 /modules/subversion | |
parent | 867747110eac381ba4e1aca96dfef9bbe64177c8 (diff) | |
download | puppet-a3082b0aa13b26952e9db674af8f62555615fccf.tar puppet-a3082b0aa13b26952e9db674af8f62555615fccf.tar.gz puppet-a3082b0aa13b26952e9db674af8f62555615fccf.tar.bz2 puppet-a3082b0aa13b26952e9db674af8f62555615fccf.tar.xz puppet-a3082b0aa13b26952e9db674af8f62555615fccf.zip |
add pre-commit script to prevent commit of some binary files
Diffstat (limited to 'modules/subversion')
-rw-r--r-- | modules/subversion/manifests/init.pp | 8 | ||||
-rw-r--r-- | modules/subversion/templates/no_binary | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/modules/subversion/manifests/init.pp b/modules/subversion/manifests/init.pp index 7b9da2d0..6036291c 100644 --- a/modules/subversion/manifests/init.pp +++ b/modules/subversion/manifests/init.pp @@ -31,6 +31,14 @@ class subversion { content => template('subversion/create_svn_repo.sh') } + file { "$local_dir/pre-commit.d/no_binary": + ensure => present, + owner => root, + group => root, + mode => 755, + content => template('subversion/no_binary') + } + file { "$local_dir/pre-commit.d/no_root_commit": ensure => present, owner => root, diff --git a/modules/subversion/templates/no_binary b/modules/subversion/templates/no_binary new file mode 100644 index 00000000..5787eae7 --- /dev/null +++ b/modules/subversion/templates/no_binary @@ -0,0 +1,14 @@ +#!/bin/sh + +REP="$1" +TXN="$2" + +# Filter some binary files based on common filename extentions. +# It does not fully prevent commit of binary files, this script is only +# here to avoid simple mistakes +if svnlook changed -t "$TXN" "$REP" | grep -qi '\.\(gz\|bz2\|xz\|lzma\|Z\|7z\|tar\|tgz\|zip\|jpg\|gif\|png\|ogg\|mp3\|wav\|rar\|pdf\)$' +then + echo 'no binary files allowed on this repository' + exit 1 +fi + |