hg@db2:~/repos/cronjobs/.hg$ cat hooks-incoming
#!/bin/bash
REPO=`pwd`
##
if ( hg log -r $HG_NODE --template '{files}n' | sed 's/s+/n/g' | sed -n '/^jobs//p' | grep 'jobs' ) > /dev/null ;
then
tmppath="/tmp/$$-$(date +'%s')"
mkdir -p $tmppath
hg archive -r $HG_NODE -I 're:^jobs/.*' $tmppath
## 第一行删除掉老的项目相关的cron
## 第二行追加整个项目相关的cron并且去重以及保留原来的顺序
## 第三行安装新crontab
if [ -f $tmppath/jobs/*.cron ] ; then
repo=$(echo $REPO|sed 's///\//g')
echo $repo
echo 's/$BASE/'$repo'/jobs/g'
crontab -l | sed '/'$repo'/jobs//d' |
awk '{ a[$NF] = NR" "$0 } END {for (i in a) print a[i] }' - $tmppath/jobs/*.cron | sort -k1 -n | cut -d' ' -f2- |
sed 's/BASE/what-the-hell/g' |
crontab -i -
else
echo "what the hell"
fi
rm -rf $tmppath
else
echo ""
fi
-