summaryrefslogtreecommitdiff
path: root/git/pre-commit.d/20store-empty-directory
diff options
context:
space:
mode:
authorMathieu Clabaut <mathieu.clabaut@gmail.com>2007-12-21 15:47:30 -0600
committerJoey Hess <joey@kodama.kitenet.net>2008-01-03 19:53:46 -0500
commitf82235032f162aae0bb08828d45c6306e60dcd29 (patch)
treea4479471b8b8c91903e1ceaf54dfea42e3457a4a /git/pre-commit.d/20store-empty-directory
parent631af60701ca747861d67a19d431005c7d45d6be (diff)
hg and git subrepo creation (hg is for now a copy of git)
Diffstat (limited to 'git/pre-commit.d/20store-empty-directory')
-rw-r--r--git/pre-commit.d/20store-empty-directory19
1 files changed, 19 insertions, 0 deletions
diff --git a/git/pre-commit.d/20store-empty-directory b/git/pre-commit.d/20store-empty-directory
new file mode 100644
index 0000000..e0f9538
--- /dev/null
+++ b/git/pre-commit.d/20store-empty-directory
@@ -0,0 +1,19 @@
+#!/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
+
+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 ] || ! cmp -s .etckeeper .etckeeper.new ; then
+ mv -f .etckeeper.new .etckeeper
+ git add .etckeeper
+else
+ rm -f .etckeeper.new
+fi