summaryrefslogtreecommitdiff
path: root/pre-commit.d/30store-metadata
blob: 959e714b5c45f81a158e7525fb2a52883b16af3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
set -e

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

	# 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

		if [ "$VCS" = git ]; then
			git add .metadata
		elif [ "$VCS" = hg ]; then
			hg add .metadata
		fi
	fi
fi