summaryrefslogtreecommitdiff
path: root/files/update-puppet-conf.sh
blob: ef7bfcd314f21f5e7d05b4d53e788cff864e9bbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash

# This file updates the /etc/puppet directory with recent changes to the
# /var/git/repositories/puppet repository and changes to other remote
# repositories configured as submodules of this puppet installation. This
# script it intended to be called from a cron-job or by a post-update hook.

PUPPET_DIR=/etc/puppet
ORIGIN_DIR=/var/git/repositories/puppet.git

unset GIT_DIR

if [ -d "${PUPPET_DIR}/.git" ] && [ -d "${ORIGIN_DIR}" ]; then
  cd ${PUPPET_DIR}
  git pull ${ORIGIN_DIR} master
  git checkout -f
  # See https://github.com/git/git/commit/c1c259e225cf39c7353c673ad2c7c84450d909c1
  git submodule update --init | grep -v "^Submodule "
  git clean -d -f
fi