diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-01-04 17:38:10 -0500 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-01-04 17:38:10 -0500 |
commit | 788ae5a34c0fad2e3c0788a745400a138d735195 (patch) | |
tree | 2517eb3ccf206f4ed7b6ef6a1d543c87caaf2e41 /pre-commit.d/20store-empty-directory | |
parent | 69739dd0341ba72a645344ea14658f0ede006079 (diff) | |
parent | fd4a85189390d6e6f022eb8f71fcecb5d5f82958 (diff) |
Merge branch 'hg'
Significantly refactored
Diffstat (limited to 'pre-commit.d/20store-empty-directory')
-rwxr-xr-x | pre-commit.d/20store-empty-directory | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/pre-commit.d/20store-empty-directory b/pre-commit.d/20store-empty-directory index e0f9538..0cab9df 100755 --- a/pre-commit.d/20store-empty-directory +++ b/pre-commit.d/20store-empty-directory @@ -1,19 +1,27 @@ #!/bin/sh set -e -# Make sure the file is not readable by others, since it can leak -# information about contents of non-readable directories in /etc. -umask 077 +# 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/ | sort | - sed -e "s/^/mkdir -p '/" -e "s/\$/'/" >> .etckeeper.new + 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 - git add .etckeeper -else - rm -f .etckeeper.new + if [ ! -e .etckeeper ] || ! cmp -s .etckeeper .etckeeper.new ; then + mv -f .etckeeper.new .etckeeper + if [ "$VCS" = git ]; then + git add .etckeeper + elif [ "$VCS" = hg ]; then + hg add .etckeeper + fi + else + rm -f .etckeeper.new + fi fi |