#!/bin/bash # Remove client side hooks from all TDE local repositories # Note: this is /scripts/code_format/git-hooks SCRIPT_DIR=`dirname $(readlink -f "$0")` TDE_DIR="${SCRIPT_DIR}/../../.." if [[ ! -f "${TDE_DIR}/.gitmodules" ]]; then echo " --- Unable to find repository list (.gitmodules). Aborting." exit 1 fi sed -n "s|^\[submodule \"\([^\"]*\)\"\]$|\1|p" <"${TDE_DIR}/.gitmodules" | \ grep "^main/" | \ while read MODULE; do cd "${TDE_DIR}/${MODULE}" GIT_COMMON_DIR=`git rev-parse --git-common-dir` if [[ "${GIT_COMMON_DIR}" == ".git" ]]; then # Normal repository HOOK_DIR="${TDE_DIR}/${MODULE}/${GIT_COMMON_DIR}/hooks" else # Worktree repository HOOK_DIR="${GIT_COMMON_DIR}/hooks" fi # Check hook folder exists if [ ! -d "${HOOK_DIR}" ]; then echo " --- Unable to find the hook folder for the repository ${MODULE}" echo " Skipping module." continue fi # Check whether the pre-commit hook exists if [ ! -e "${HOOK_DIR}/pre-commit" ]; then echo " --- Pre-commit hook not found for the repository ${MODULE}" echo " Skipping module." continue fi rm "${HOOK_DIR}/pre-commit" if [ ! -e "${HOOK_DIR}/pre-commit" ]; then echo "Pre-commit hook removed for the repository ${MODULE}" else echo " --- Something went wrong when removing the pre-commit hook for the repositoty ${MODULE}" fi done