From 62cb377a954921ef7940059e6dfb8521f9698c32 Mon Sep 17 00:00:00 2001
From: Raul Infante-Sainz <infantesainz@gmail.com>
Date: Thu, 28 Feb 2019 12:32:19 +0000
Subject: Git hooks for metastore check for the existance of metastore

Until now, once the Git hooks have been installed (after the
installation of Metastore), if metastore doesn't exist (for example by
manually deleting the build directory for a re-build with same
configurations as before) we can't run `git commit' and `git checkout'
will print an ugly warning.

With this commit, the two Git hooks check for the existance of Metastore
and if it doesn't exist, they won't do anything.
---
 reproduce/src/bash/git-pre-commit | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

(limited to 'reproduce/src/bash/git-pre-commit')

diff --git a/reproduce/src/bash/git-pre-commit b/reproduce/src/bash/git-pre-commit
index ca28757..0fa6c52 100644
--- a/reproduce/src/bash/git-pre-commit
+++ b/reproduce/src/bash/git-pre-commit
@@ -20,8 +20,13 @@
 #     git reset HEAD -- .metadata
 #     git checkout HEAD -- .metadata
 
-# File containig the metadata.
+# File containig the metadata and metastore executable.
 MSFILE=".file-metadata"
+MSBIN=@BINDIR@/metastore
+
+# If metastore is not installed, then ignore this script (exit with a
+# status of 0).
+if [ ! -f $MSBIN ]; then exit 0; fi
 
 # Function to help in reporting a crash.
 exit_on_fail() {
@@ -34,12 +39,12 @@ exit_on_fail() {
 
 # Run metastore.
 exit_on_fail \
-	@BINDIR@/metastore -O @USER@ -G @GROUP@ -s -f "$MSFILE"
+	$MSBIN -O @USER@ -G @GROUP@ -s -f "$MSFILE"
 
 # If it's first metastore commit, store again to include $MSFILE in $MSFILE.
 if ! git-ls-tree --name-only HEAD 2>/dev/null | grep -Fqx "$MSFILE"; then
 	exit_on_fail \
-	        @BINDIR@/metastore -O @USER@ -G @GROUP@ -s -f "$MSFILE"
+	        $MSBIN -O @USER@ -G @GROUP@ -s -f "$MSFILE"
 fi
 
 # Check if the metadata file exists.
-- 
cgit v1.2.1