File: update.sh

package info (click to toggle)
spring 106.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 55,316 kB
  • sloc: cpp: 543,954; ansic: 44,800; python: 12,575; java: 12,201; awk: 5,889; sh: 1,796; asm: 1,546; xml: 655; perl: 405; php: 211; objc: 194; makefile: 76; sed: 2
file content (44 lines) | stat: -rwxr-xr-x 1,084 bytes parent folder | download | duplicates (3)
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