From c9e4553d11daa2d43a107bf9f3fd4707f6321c86 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Sat, 19 Feb 2022 13:02:50 +0100 Subject: [PATCH] docker/l3d#111 Update post-checkout hook --- start.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/start.sh b/start.sh index bb862bf..63a2a1a 100755 --- a/start.sh +++ b/start.sh @@ -247,9 +247,16 @@ if [[ -d .git ]]; then echo "#!/bin/sh" > .git/hooks/post-checkout chmod +x .git/hooks/post-checkout fi - HOOK_DEFINED=$(grep /usr/local/bin/update-env .git/hooks/post-checkout) - if [[ "$HOOK_DEFINED" = "" ]]; then - echo "docker exec ${COMPOSE_PROJECT_NAME}_l3d /usr/local/bin/update-env" >> .git/hooks/post-checkout + OLDCOMMAND='docker exec '${COMPOSE_PROJECT_NAME}'_l3d /usr/local/bin/update-env' + NEWCOMMAND='RUNNING=$(docker container ls --all -q -f name='${COMPOSE_PROJECT_NAME}'_l3d);if [ "x$RUNNING" != "x" ];then docker exec '${COMPOSE_PROJECT_NAME}'_l3d /usr/local/bin/update-env;fi' + OLD_HOOK_DEFINED=$(grep "$OLDCOMMAND" .git/hooks/post-checkout) + NEW_HOOK_DEFINED=$(grep "$NEWCOMMAND" .git/hooks/post-checkout) + if [[ "x$OLD_HOOK_DEFINED" = "x" ]]; then + echo "$NEWCOMMAND" >> .git/hooks/post-checkout + elif [[ "x$NEW_HOOK_DEFINED" = "x" ]]; then + OLDCOMMAND="${OLDCOMMAND//\//\\/}" + sed -i -e "/${OLDCOMMAND}/d" .git/hooks/post-checkout + echo "$NEWCOMMAND" >> .git/hooks/post-checkout fi fi /usr/local/bin/update-env -- GitLab