#!/bin/sh [ ! "$CVS_MIRROR_DIR" ] && CVS_MIRROR_DIR=${HOME}/CVS_MIRROR subdir=cvs-pencil-code localdir=$CVS_MIRROR_DIR/$subdir if [ -e $localdir/ONLINE_CVSROOT ]; then echo "You appear to be offline already... UPDATING OFFLINE CONTENT" fi #online_cvsroot=`cat $PENCIL_HOME/CVS/Root` #remote_repository=`cat $PENCIL_HOME/CVS/Root | sed -e 's/^:[a-z]*://'` online_cvsroot=":pserver:${USER}@norserv.nordita.dk:/home/brandenb/CVS" remote_repository='norserv.nordita.dk:/home/brandenb/CVS' cat <<EOF Acquiring a local copy of the CVS repository... Warning... You CANNOT commit changes while offline. You CAN perform all cvs read operations however, such as checkout and update. You can return to the online version later by running the pc_online script. EOF echo -n "Rsyncing CVSROOT... " mkdir -p $localdir/CVSROOT rsync -r -e ssh $remote_repository/CVSROOT $localdir/ echo Done. echo -n "Rsyncing f90/pencil-code... " mkdir -p $localdir/f90/pencil-code rsync -r -e ssh $remote_repository/f90/pencil-code $localdir/f90/ echo Done. echo $online_cvsroot > $localdir/ONLINE_CVSROOT date > $localdir/MIRROR_TIMESTAMP rm -f $localdir/CVSROOT/readers cat <<EOF > $localdir/CVSROOT/writers nobody EOF chmod 700 $localdir/CVSROOT/writers chmod 700 $localdir/CVSROOT/commitinfo cat <<EOF > $localdir/CVSROOT/commitinfo ALL false EOF pc_cvs_chroot -d $PENCIL_HOME $online_cvsroot $localdir echo -n "Offline content size (MB) = " expr `du -ks /home/mee/CVS_MIRROR/cvs-pencil-code/ | cut -f1` / 1024