This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository buildscripts. commit a1a879a34978d10c94e321a7b570ad7b9e1e571d Author: Mihai Moldovan <ionic@ionic.de> Date: Sun Nov 13 19:30:07 2016 +0100 bin/build-{deb,rpm}-package: rewrite prepare_workspace to error out if switching to the directory is not possible. --- bin/build-deb-package | 40 ++++++++++++++++++++++++---------------- bin/build-rpm-package | 39 ++++++++++++++++++++++++--------------- 2 files changed, 48 insertions(+), 31 deletions(-) diff --git a/bin/build-deb-package b/bin/build-deb-package index 8f89693..c172286 100755 --- a/bin/build-deb-package +++ b/bin/build-deb-package @@ -133,24 +133,32 @@ set_vars() { prepare_workspace() { # make sure our local working copy is up to date... - if [ -d "${PROJECT_DIR}/.git" ]; then - cd "$PROJECT_DIR" && git reset --hard - git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" - git pull origin "${CHECKOUT}" - git fetch origin upstream:upstream || true - git fetch origin pristine-tar:pristine-tar || true - # and again, get the ${CHECKOUT} refspec in pure state - git reset --hard - git clean -df + cd "${PROJECT_DIR}" && { + git reset --hard + git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" + git pull origin "${CHECKOUT}" + git fetch origin upstream:upstream || true + git fetch origin pristine-tar:pristine-tar || true + # and again, get the ${CHECKOUT} refspec in pure state + git reset --hard + git clean -df + } || { + echo "Unable to switch to project directory \"${PROJECT_DIR}\". Check the permissions." >&2 + exit 1 + } else - cd "$(dirname "${PROJECT_DIR}")" - git clone "git://${GIT_HOSTNAME}/${PROJECT_PATH}.git" - cd "${PROJECT}" - git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" - git fetch origin upstream:upstream - git fetch origin pristine-tar:pristine-tar || true - git clean -df + cd "$(dirname "${PROJECT_DIR}")" && { + git clone "git://${GIT_HOSTNAME}/${PROJECT_PATH}.git" + cd "${PROJECT}" + git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" + git fetch origin upstream:upstream + git fetch origin pristine-tar:pristine-tar || true + git clean -df + } || { + echo "Unable to switch to project directory \"$(dirname "${PROJECT_DIR}")\". Does it exist? Check the permissions." >&2 + exit 1 + } fi GIT_OBJECT_ID="$(git rev-parse --verify HEAD)" diff --git a/bin/build-rpm-package b/bin/build-rpm-package index 890ae66..c6735f4 100755 --- a/bin/build-rpm-package +++ b/bin/build-rpm-package @@ -570,22 +570,31 @@ get_extra_repository () { prepare_workspace() { # make sure our local working copy is up to date... if [ -d "${PROJECT_DIR}/.git" ]; then - cd "${PROJECT_DIR}" && git reset --hard - git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" - git pull origin "${CHECKOUT}" - git fetch origin upstream:upstream || true - git fetch origin pristine-tar:pristine-tar || true - # and again, get the ${CHECKOUT} refspec in pure state - git reset --hard - git clean -df + cd "${PROJECT_DIR}" && { + git reset --hard + git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" + git pull origin "${CHECKOUT}" + git fetch origin upstream:upstream || true + git fetch origin pristine-tar:pristine-tar || true + # and again, get the ${CHECKOUT} refspec in pure state + git reset --hard + git clean -df + } || { + echo "Unable to switch to project directory \"${PROJECT_DIR}\". Check the permissions." >&2 + exit 1 + } else - cd "$(dirname "${PROJECT_DIR}")" - git clone "git://${GIT_HOSTNAME}/${PROJECT_PATH}.git" - cd "${PROJECT}" - git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" - git fetch origin upstream:upstream - git fetch origin pristine-tar:pristine-tar || true - git clean -df + cd "$(dirname "${PROJECT_DIR}")" && { + git clone "git://${GIT_HOSTNAME}/${PROJECT_PATH}.git" + cd "${PROJECT}" + git checkout --force "${CHECKOUT}" || git checkout --force -b "${CHECKOUT}" + git fetch origin upstream:upstream + git fetch origin pristine-tar:pristine-tar || true + git clean -df + } || { + echo "Unable to switch to project directory \"$(dirname "${PROJECT_DIR}")\". Does it exist? Check the permissions." >&2 + exit 1 + } fi GIT_OBJECT_ID="$(git rev-parse --verify HEAD)" -- Alioth's /srv/git/code.x2go.org/buildscripts.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/buildscripts.git