diff options
Diffstat (limited to 'pre-commit.d/30store-metadata')
-rwxr-xr-x | pre-commit.d/30store-metadata | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/pre-commit.d/30store-metadata b/pre-commit.d/30store-metadata index b878abd..959e714 100755 --- a/pre-commit.d/30store-metadata +++ b/pre-commit.d/30store-metadata @@ -1,18 +1,25 @@ #!/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 [ "$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 + # 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 -# 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 + if [ "$VCS" = git ]; then + git add .metadata + elif [ "$VCS" = hg ]; then + hg add .metadata + fi + fi fi |