aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/src/bash/git-post-checkout8
-rw-r--r--reproduce/src/bash/git-pre-commit6
-rw-r--r--reproduce/src/make/dependencies.mk7
3 files changed, 18 insertions, 3 deletions
diff --git a/reproduce/src/bash/git-post-checkout b/reproduce/src/bash/git-post-checkout
index 25dc2ac..e2a0fd0 100644
--- a/reproduce/src/bash/git-post-checkout
+++ b/reproduce/src/bash/git-post-checkout
@@ -9,8 +9,13 @@
# special characters for the installation location of meta-store so our own
# installation is found by Git.
+# File containig the metadata.
MSFILE=".file-metadata"
+# Delete all temporary files
+find @TOP_PROJECT_DIR@/ -name "*~" -type f -delete
+
+# Function to help in reporting a crash.
exit_on_fail() {
"$@"
if [ $? -ne 0 ]; then
@@ -19,12 +24,15 @@ exit_on_fail() {
fi
}
+# Check if the metadata file exists.
if [ ! -e "$MSFILE" ]; then
echo "\"$MSFILE\" missing" >&2
exit 1
fi
+# Run metastore.
exit_on_fail \
@BINDIR@/metastore -a -m -e -E -q -O @USER@ -G @GROUP@ -f "$MSFILE"
+# Return with a success code (0).
exit 0
diff --git a/reproduce/src/bash/git-pre-commit b/reproduce/src/bash/git-pre-commit
index dbf7dc6..ca28757 100644
--- a/reproduce/src/bash/git-pre-commit
+++ b/reproduce/src/bash/git-pre-commit
@@ -20,8 +20,10 @@
# git reset HEAD -- .metadata
# git checkout HEAD -- .metadata
+# File containig the metadata.
MSFILE=".file-metadata"
+# Function to help in reporting a crash.
exit_on_fail() {
"$@"
if [ $? -ne 0 ]; then
@@ -30,6 +32,7 @@ exit_on_fail() {
fi
}
+# Run metastore.
exit_on_fail \
@BINDIR@/metastore -O @USER@ -G @GROUP@ -s -f "$MSFILE"
@@ -39,12 +42,15 @@ if ! git-ls-tree --name-only HEAD 2>/dev/null | grep -Fqx "$MSFILE"; then
@BINDIR@/metastore -O @USER@ -G @GROUP@ -s -f "$MSFILE"
fi
+# Check if the metadata file exists.
if [ ! -e "$MSFILE" ]; then
echo "\"$MSFILE\" missing" >&2
exit 1
fi
+# Add the metadata file to the Git repository.
exit_on_fail \
git-add "$MSFILE"
+# Return with a success code (0).
exit 0
diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk
index e9023b4..1cc2b00 100644
--- a/reproduce/src/make/dependencies.mk
+++ b/reproduce/src/make/dependencies.mk
@@ -384,9 +384,10 @@ $(ibdir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \
cd $$current_dir
if [ -f $@ ]; then
for f in pre-commit post-checkout; do
- sed -e's|@USER[@]|'$$user'|g' \
- -e's|@GROUP[@]|'$$group'|g' \
- -e's|@BINDIR[@]|$(ibdir)|g' \
+ sed -e's|@USER[@]|'$$user'|g' \
+ -e's|@GROUP[@]|'$$group'|g' \
+ -e's|@BINDIR[@]|$(ibdir)|g' \
+ -e's|@TOP_PROJECT_DIR[@]|'$$current_dir'|g' \
reproduce/src/bash/git-$$f > .git/hooks/$$f
chmod +x .git/hooks/$$f
done