#!/bin/sh
# http://www.berklix.com/~jhs/bin/.sh/svnsync.sh
# by jhs@ for host land written 2019-07-22
# Called by:	crontab -e ~jhs/.crontab/
# See Also:
#	http://ctm.berklix.org		= ~jhs/public_html/ctm/
#	http://www.berklix.com/~jhs/svn/	= ~jhs/public_html/svn/
#	http://www.pingle.org/2012/08/24/freebsd-svn-mirror
cd /usr/svn
log=/home/jhs/tmp/svnsync.log
echo "svnsync.sh: Started `date -u +%Y-%m-%dT%H:%M:%SZ`"	>  $log

echo								>> $log

/usr/local/bin/svnsync sync file:////usr/svn/base		>> $log 2>&1
echo "svnsync.sh: base/db/current `cat base/db/current`"	>> $log
echo "svnsync.sh: base/db/revprops/0/0:\
 `cd base/db/revprops/0; cat 0 | tail -2 | head -1`"		>> $log
echo "svnsync.sh: base/db/revs:\
 `cd base/db/revs; /bin/ls -1 [0-9][0-9][0-9]| tail -1`"	>> $log

# echo "svnsync.sh: After base `date -u +%Y-%m-%dT%H:%M:%SZ`"	>> $log
echo								>> $log

/usr/local/bin/svnsync sync file:////usr/svn/ports		>> $log 2>&1
echo "svnsync.sh: ports/db/current `cat ports/db/current`" 	>> $log
echo "svnsync.sh: ports/db/revprops/0/0:\
 `cat ports/db/revprops/0/0 | tail -2 | head -1`" 		>> $log

# echo "svnsync.sh: After ports `date -u +%Y-%m-%dT%H:%M:%SZ`"	>> $log
echo								>> $log

/usr/local/bin/svnsync sync file:////usr/svn/doc		>> $log 2>&1
echo "svnsync.sh: doc/db/current `cat doc/db/current`"		>> $log
echo "svnsync.sh: doc/db/revprops/0/0\
 `cat doc/db/revprops/0/0 | tail -2 | head -1`"			>> $log

# echo "svnsync.sh: After doc `date -u +%Y-%m-%dT%H:%M:%SZ`"	>> $log
echo								>> $log

# Probably most of the year to SOC repository doesnt change.
/usr/local/bin/svnsync sync file:////usr/svn/socsvn		>> $log 2>&1
echo "svnsync.sh: socsvn/db/current `cat socsvn/db/current`"	>> $log

echo								>> $log
echo "svnsync.sh: Finishing `date -u +%Y-%m-%dT%H:%M:%SZ`"	>> $log

cat $log | mail -s "Cron: svnsync.sh" jhs
rm $log

# A different way gj@ does it:
#	I do it like this (bash aliases for HEAD):
#	
#	alias svp='cd /usr/ports/;svn up && make fetchindex;cd'
#	alias svpnew='svn checkout svn://svn0.eu.FreeBSD.org/ports/head /usr/ports'
#	alias svs='cd /usr/src/;svn up;cd'
#	alias svsnew='svn checkout svn://svn0.eu.FreeBSD.org/base/head /usr/src'
#	
#	I suspect that using svn to grab a new tree takes no longer than
#	grabbing the tarballs would.  Well, I suppose that the volume of
#	data would be less using the tarballs, but then they have to be
#	extracted.
#	
#	Of course, I have 100Mbit DSL and a 6-core CPU.  But the network
#	speed is limited by the server in any case.
