1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!/bin/bash
ionice -p $$ -c 3
renice 20 -p $$ >/dev/null
MAXLOAD=3
LOAD=$(uptime | egrep -o -e "load average: [0-9]*"|cut -b 15-)
if [ $LOAD -ge $MAXLOAD ]; then
echo current load $LOAD is higher than maxload $MAXLOAD, aborting sync
exit
fi
# checks all
MODROOT=/
MODINFO=modinfo.lua
PACKAGES=/home/packages/www/repos.springrts.com
REPOS=$(find /home/packages/git -maxdepth 1 -mindepth 1 -type d)
for REPO in $REPOS; do
cd $REPO
if git fetch --prune &>/dev/null; then
LOCAL=$(git rev-parse HEAD)
REMOTE=$(git rev-parse @{u})
if [ "$LOCAL" != "$REMOTE" ]; then
TAG=$(basename $REPO)
(
echo Stated: $(date)
echo Updating $REPO from $(git config --get remote.origin.url)
git pull
git checkout master
git reset --hard origin/master
git submodule sync --recursive
git submodule update --recursive --remote --init
~/bin/BuildGit "$REPO" "$MODROOT" "$MODINFO" "$PACKAGES/$TAG" "$REMOTE" "$TAG"
echo Finished: $(date)
) &> $PACKAGES/$TAG/log.txt
git log -1 --pretty=format:"%an commited %h: %s" | ~/bin/loggit.py "$TAG"
fi
fi
done
|