aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael G. Martins <rafael@rafaelmartins.eng.br>2017-01-04 00:07:31 +0100
committerRafael G. Martins <rafael@rafaelmartins.eng.br>2017-01-04 00:07:31 +0100
commit77d89f64161e001c91fd7ca60e298a69d35e2050 (patch)
treeb788d03eeabc69aac3b16fc72212ec50365591bc
parent0f6fe3e044519d15d1e54d3ef1088b5107bc21a9 (diff)
downloadblogc-77d89f64161e001c91fd7ca60e298a69d35e2050.tar.gz
blogc-77d89f64161e001c91fd7ca60e298a69d35e2050.tar.bz2
blogc-77d89f64161e001c91fd7ca60e298a69d35e2050.zip
git-receiver: detect if pre-receive is running from git using env var
-rw-r--r--src/blogc-git-receiver/pre-receive.c2
-rwxr-xr-xtests/blogc-git-receiver/check_pre_receive.sh.in8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/blogc-git-receiver/pre-receive.c b/src/blogc-git-receiver/pre-receive.c
index 9772a2f..c780055 100644
--- a/src/blogc-git-receiver/pre-receive.c
+++ b/src/blogc-git-receiver/pre-receive.c
@@ -112,7 +112,7 @@ bgr_pre_receive_hook(int argc, char *argv[])
goto cleanup;
}
- if (isatty(STDIN_FILENO)) {
+ if (NULL == getenv("GIT_DIR")) {
char *htdocs_sym = bc_strdup_printf("%s/htdocs", repo_dir);
if (0 != access(htdocs_sym, R_OK)) {
fprintf(stderr, "error: no previous build found. nothing to "
diff --git a/tests/blogc-git-receiver/check_pre_receive.sh.in b/tests/blogc-git-receiver/check_pre_receive.sh.in
index c2f57ac..ba3d78c 100755
--- a/tests/blogc-git-receiver/check_pre_receive.sh.in
+++ b/tests/blogc-git-receiver/check_pre_receive.sh.in
@@ -28,7 +28,7 @@ EOF
cd "${TEMP}/repos/foo.git"
-SHELL="${SELF}" HOME="${TEMP}" ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
+SHELL="${SELF}" HOME="${TEMP}" GIT_DIR=. ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
grep "warning: no reference to master branch found. nothing to deploy." "${TEMP}/output.txt" &> /dev/null
cat > "${TEMP}/tmp.txt" <<EOF
@@ -58,7 +58,7 @@ cat > "${TEMP}/payload.txt" <<EOF
0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 refs/heads/bar
EOF
-SHELL="${SELF}" HOME="${TEMP}" ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
+SHELL="${SELF}" HOME="${TEMP}" GIT_DIR=. ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
grep "warning: no makefile found. skipping ..." "${TEMP}/output.txt" &> /dev/null
cd "${TEMP}"
@@ -93,7 +93,7 @@ cat > "${TEMP}/payload.txt" <<EOF
0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 refs/heads/bar
EOF
-SHELL="${SELF}" HOME="${TEMP}" ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
+SHELL="${SELF}" HOME="${TEMP}" GIT_DIR=. ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
grep "echo lol" "${TEMP}/output.txt" &> /dev/null
[[ -h htdocs ]]
@@ -135,7 +135,7 @@ cat > "${TEMP}/payload.txt" <<EOF
0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 refs/heads/bar
EOF
-SHELL="${SELF}" HOME="${TEMP}" ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
+SHELL="${SELF}" HOME="${TEMP}" GIT_DIR=. ${TESTS_ENVIRONMENT} ./hooks/pre-receive < "${TEMP}/payload.txt" 2>&1 | tee "${TEMP}/output.txt"
grep "echo lol" "${TEMP}/output.txt" &> /dev/null
[[ -h htdocs ]]