diff options
author | Micah <micah@leap.se> | 2016-05-24 10:19:24 -0400 |
---|---|---|
committer | Micah <micah@leap.se> | 2016-05-24 10:19:24 -0400 |
commit | a0341282c3eef05cf19c10e10f783e3c5536c8b0 (patch) | |
tree | 59ffbcee037e3a3b6393dac5a16ca0545d233e91 /manifests/changes.pp |
Squashed 'puppet/modules/git/' content from commit ba5dd8d
git-subtree-dir: puppet/modules/git
git-subtree-split: ba5dd8d5c8e09d521ff49f1ebc753601e449f828
Diffstat (limited to 'manifests/changes.pp')
-rw-r--r-- | manifests/changes.pp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/manifests/changes.pp b/manifests/changes.pp new file mode 100644 index 00000000..71112051 --- /dev/null +++ b/manifests/changes.pp @@ -0,0 +1,33 @@ +# Usage +# git::changes { name: +# cwd => "/path/to/git/" +# user => "me", +# ensure => {*assume-unchanged*, tracked} +# } +# + +define git::changes ( $cwd, $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}", + cwd => $cwd, + user => $user, + unless => "/usr/bin/git ls-files -v | grep '^[ch] ${name}'", + } + } + + tracked: { + exec { "track changes ${name}": + command => "/usr/bin/git update-index --no-assume-unchanged ${name}", + cwd => $cwd, + user => $user, + onlyif => "/usr/bin/git ls-files -v | grep '^[ch] ${name}'", + } + } + } +} + |