diff options
author | Azul <azul@riseup.net> | 2013-08-26 12:04:14 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2013-08-27 14:16:54 +0200 |
commit | b35146bf42bae91f1211b51dba568295f8d5b8f0 (patch) | |
tree | 762a556e4bec271ee57f22c975d0d6ad1d68d5e7 /puppet/modules/site_webapp/manifests/git.pp | |
parent | c4024b72d5aeebbd814a78c741658ca50eb4dc71 (diff) |
git:changes expect changes to certain files
You can either ensure assume-unchanged or ensure those changes are tracked.
Used to keep the git status clean.
Diffstat (limited to 'puppet/modules/site_webapp/manifests/git.pp')
-rw-r--r-- | puppet/modules/site_webapp/manifests/git.pp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/puppet/modules/site_webapp/manifests/git.pp b/puppet/modules/site_webapp/manifests/git.pp new file mode 100644 index 00000000..25862707 --- /dev/null +++ b/puppet/modules/site_webapp/manifests/git.pp @@ -0,0 +1,30 @@ +# Usage +# git::changes { name: +# user => "me", +# ensure => {*assume-unchanged*, tracked} +# } +# + +define git::changes ( $user, $ensure='assume-unchanged' ) { + + case $ensure { + default: { err ( "unknown ensure value '${ensure}'" ) } + + assume-unchanged: { + exec { "assume-unchanged ${name}": + command => "/usr/bin/git update-index --assume-unchanged ${name}", + user => $user, + unless => "/usr/bin/git ls-files -v | grep '^[ch] ${name}'", + } + } + + tracked: { + exec { "assume-unchanged ${name}": + command => "/usr/bin/git update-index --no-assume-unchanged ${name}", + user => $user, + onlyif => "/usr/bin/git ls-files -v | grep '^[ch] ${name}'", + } + } + } +} + |