mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 12:00:03 -05:00
rsync generally is a more commonly used tool for syncing data - among others it retains time stamps and is able to remove orphaned files on the receiver side. We just need to exclude some directories and a symlink from being removed as "orphaned", since they originate elsewhere. maintainer-scripts: * update_web_docs_libstdcxx_git: Copy our "inner" documentation into the web area using rsync instead of cpio and remove orphaned files.
49 lines
1.4 KiB
Bash
Executable File
49 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
# "sh update_web_docs_libstdcxx_git"
|
|
# 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
|
|
#####################################################################
|
|
|
|
GITROOT=${GITROOT:-"/git/gcc.git"}
|
|
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 GITROOT
|
|
|
|
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
|
|
git -C $GITROOT archive master $GETTHIS | tar xf -
|
|
cd $GETTHIS
|
|
|
|
# Copy the tree to the libstdc++ onlinedocs area and remove orphans (taking
|
|
# care to keep some directories coming from a different source).
|
|
rsync -ahv --delete-after -f '- /images/*' -f '- /libstdc*' -f '- latest-doxygen' . $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
|