git://git.onelab.eu
/
infrastructure.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8d8047f
)
simple check to prevent spam from git-mirror
author
Barış Metin
<Talip-Baris.Metin@sophia.inria.fr>
Wed, 3 Nov 2010 15:58:10 +0000
(16:58 +0100)
committer
Barış Metin
<Talip-Baris.Metin@sophia.inria.fr>
Wed, 3 Nov 2010 15:58:10 +0000
(16:58 +0100)
scripts/git-mirror.sh
patch
|
blob
|
history
diff --git
a/scripts/git-mirror.sh
b/scripts/git-mirror.sh
index
ec6e52d
..
029fcab
100755
(executable)
--- 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=""
QUIET=0
FAILED=0
FAILED_CMDS=""
+NOTIFIED_FILE="NOTIFIED_ADMINS"
function msg () {
if [ $QUIET -eq 0 ]
function msg () {
if [ $QUIET -eq 0 ]
@@
-18,10
+19,18
@@
function msg () {
function error () {
SUBJECT=$1
MSG=$2
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
for admin in $ADMINS
do
echo -e "$MSG" | mail -s "$SUBJECT" $admin
done
+ touch $CHECK_FILE
}
function run () {
}
function run () {
@@
-109,7
+118,7
@@
function mirror () {
merge_all_branches $NAME origin $REPO_DIR
if [ $? -ne 0 ]
then
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"
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
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
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
}
done
}