summaryrefslogtreecommitdiff
path: root/puppet/modules/site_webapp/manifests/git.pp
blob: 258627075f19701bbb4967f43acdd4a332459462 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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}'",
      }
    }
  }
}