#!/bin/sh set -e # These version control systems do not track directories, so empty # directories must be stored specially. if [ "$VCS" = git ] || [ "$VCS" = hg ]; then # Make sure the file is not readable by others, since it can leak # information about contents of non-readable directories in /etc. umask 077 if [ -e .etckeeper ]; then egrep -v '^mkdir ' .etckeeper > .etckeeper.new || true fi find -type d -empty | grep -v /.git/ | grep -v /.hg/ | sort | sed -e "s/^/mkdir -p '/" -e "s/\$/'/" >> .etckeeper.new if [ ! -e .etckeeper ] || ! cmp -s .etckeeper .etckeeper.new ; then mv -f .etckeeper.new .etckeeper # stage the file as part of the current commit if [ "$VCS" = git ]; then git add .etckeeper fi # hg add not done, hg will automatically include the file # in the current commit else rm -f .etckeeper.new fi fi