#!/bin/bash


# "sh update_web_docs_libstdcxx.sh"
# Checks out a copy of the libstdc++-v3 "inner" documentation and puts
# it in the onlinedocs area.  For an initial description of "inner"
# docs, see the thread starting with 
#     http://gcc.gnu.org/ml/libstdc++/2000-11/msg00475.html
#
# Id: update_v3_web_docs.sh,v 1.4 2000/12/25 05:02:14 pedwards Exp
#####################################################################

SVNROOT=${SVNROOT:-"file:///svn/gcc"}
GETTHIS='libstdc++-v3/doc/html'
WWWDIR=/www/gcc/htdocs/onlinedocs/libstdc++
#WWWDIR=/tmp/fake-onlinedocs-testing


## No more changes should be needed.  Ha, right, whatever.
#####################################################################

FILTER="newer or same age version exists|0 blocks"

PATH=/usr/local/bin:$PATH
export SVNROOT

test -d $WWWDIR || /bin/mkdir $WWWDIR
test -d $WWWDIR || { echo something is very wrong ; exit 1; }

WORKDIR=/tmp/v3-doc-update.$$
/bin/rm -rf $WORKDIR
/bin/mkdir $WORKDIR
cd $WORKDIR


# checkout all the HTML files, get down into an interesting directory
svn -q export $SVNROOT/trunk/$GETTHIS doc
cd doc
rm -f Makefile

# copy the tree to the onlinedocs area, preserve directory structure
find . -depth -print | cpio -pd $WWWDIR 2>&1 | egrep -v "$FILTER"

err=${PIPESTATUS[1]}
if [ $err -gt 0 ]; then
    printf "\nCopying failed with error code %d.\n" $err
fi

cd /
/bin/rm -rf $WORKDIR

