diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/util.bash | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/util.bash b/lib/util.bash index 6ad69e1..604e3e5 100644 --- a/lib/util.bash +++ b/lib/util.bash @@ -130,6 +130,16 @@ join_args() { printf "%s" "$*" } +# Recursively hash files in a directory, and hashing the output of all those +# hashes again. This results in a single hash representing the state of files +# in a directory. It can be used to check whether contents changed after +# templating files in a given directory. +file_rhash() { + find "$1" -type f -exec sha1sum {} \; \ + | sha1sum \ + | awk '{ print $1 }' +} + file_template() { local file="$BASHTARD_ETCDIR/playbooks.d/$BASHTARD_PLAYBOOK/share/$1" ; shift |