From 5057e0f88c42f3f501b203847f2543c64fb093df Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Wed, 3 Nov 2010 16:58:10 +0100 Subject: [PATCH] simple check to prevent spam from git-mirror --- scripts/git-mirror.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/git-mirror.sh b/scripts/git-mirror.sh index ec6e52d..029fcab 100755 --- a/scripts/git-mirror.sh +++ b/scripts/git-mirror.sh @@ -7,6 +7,7 @@ LOCAL_MIRROR_DIR="/git-mirror" QUIET=0 FAILED=0 FAILED_CMDS="" +NOTIFIED_FILE="NOTIFIED_ADMINS" function msg () { if [ $QUIET -eq 0 ] @@ -18,10 +19,18 @@ function msg () { function error () { SUBJECT=$1 MSG=$2 + CHECK_FILE=$3/$NOTIFIED_FILE + + if [ -f $CHECK_FILE ] + then + return + fi + for admin in $ADMINS do echo -e "$MSG" | mail -s "$SUBJECT" $admin done + touch $CHECK_FILE } function run () { @@ -109,7 +118,7 @@ function mirror () { merge_all_branches $NAME origin $REPO_DIR if [ $? -ne 0 ] then - error "Can not fetch from ${MASTER_REPO}" + error "git-mirror.sh failed" "Can not fetch from ${MASTER_REPO}" $REPO_DIR fi else msg "mirroring ${NAME} for the first time" @@ -126,12 +135,15 @@ function mirror () { pushd ${REPO_DIR} > /dev/null STATUS_OUT=$(git status) popd > /dev/null - error "git-mirror.sh failed on ${MIRROR_REPO}" "STATUS:\n$STATUS_OUT \n\n------------\n FAILED COMMANDS:\n$FAILED_CMDS" + error "git-mirror.sh failed on ${MIRROR_REPO}" "STATUS:\n$STATUS_OUT \n\n------------\n FAILED COMMANDS:\n$FAILED_CMDS" $REPO_DIR else run "git push --tags local_master" ${REPO_DIR} push_all_branches $NAME local_master $REPO_DIR fi fi + + CHECK_FILE=$REPO_DIR/$NOTIFIED_FILE + rm -f $CHECK_FILE done } -- 2.43.0