summaryrefslogtreecommitdiff
path: root/pre-commit.d/30store-metadata
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2007-11-05 23:45:43 -0500
committerJoey Hess <joey@kodama.kitenet.net>2007-11-05 23:45:43 -0500
commit9b4d973cc3bb5ddee00b1c20ef5f1edec8f9ac3a (patch)
tree8bbc269a7fe7dcbdd0986eb3feabcb5128fe328e /pre-commit.d/30store-metadata
parent32f6964caeea18aeb8969c9f7e03362151da41e4 (diff)
renumber
Diffstat (limited to 'pre-commit.d/30store-metadata')
-rwxr-xr-xpre-commit.d/30store-metadata18
1 files changed, 18 insertions, 0 deletions
diff --git a/pre-commit.d/30store-metadata b/pre-commit.d/30store-metadata
new file mode 100755
index 0000000..b878abd
--- /dev/null
+++ b/pre-commit.d/30store-metadata
@@ -0,0 +1,18 @@
+#!/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
+
+# ensure the file exists so that it will list its own metadata
+if [ ! -e .metadata ]; then
+ metastore --save
+fi
+
+# metastore doesn't produce the same output file for the same metadata
+# everytime, so avoid changing the file if nothing really changed.
+if [ ! -z "$(metastore --compare)" ]; then
+ metastore --save
+ git add .metadata
+fi