diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-01-23 18:41:55 +0000 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-01-23 18:57:00 +0000 |
commit | 0f97f15a8d183c6b14894f47c40968e92104181d (patch) | |
tree | 2f95bc4c23927f4a7c307be6d6b7170f9d421e02 /reproduce | |
parent | 8a0ebd90913231285e443df024b7d2958d0b8bc9 (diff) |
Removing files ending with a ~ in the git checkout hook
While editing files, some editors create temporary `~' files that can cause
problems in metastore's ability to delete their host directory if its not
on the other branch. With this commit, a `find' call was added to the post
checkout Git hook to remove such temporary files before metastore is
called.
Also, some comments were added to both git hooks to make them easier to
understand for a beginner.
Diffstat (limited to 'reproduce')
-rw-r--r-- | reproduce/src/bash/git-post-checkout | 8 | ||||
-rw-r--r-- | reproduce/src/bash/git-pre-commit | 6 | ||||
-rw-r--r-- | reproduce/src/make/dependencies.mk | 7 |
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 |