mirror of
https://github.com/git/git.git
synced 2026-08-10 17:15:14 +00:00
The updated "git add" complains and fails, not just warns. Work it around until it is fixed.
108 lines
2.7 KiB
Bash
Executable File
108 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This script is called from the post-update hook, and when
|
|
# the master branch is updated, run in $HOME/git-doc, like
|
|
# this:
|
|
: <<\END_OF_COMMENTARY
|
|
|
|
$ cat >hooks/post-update
|
|
#!/bin/sh
|
|
case " $* " in
|
|
*' refs/heads/master '*)
|
|
echo $HOME/git-doc/dodoc.sh | at now
|
|
;;
|
|
esac
|
|
exec git-update-server-info
|
|
$ chmod +x hooks/post-update
|
|
|
|
END_OF_COMMENTARY
|
|
|
|
# $HOME/git-doc is a clone of the git.git repository and
|
|
# has the master branch checkd out. We update the working
|
|
# tree and build pre-formatted documentation pages, install
|
|
# in doc-htmlpages and doc-manapges subdirectory here.
|
|
# These two are their own git repository, and when they are
|
|
# updated the updates are pushed back into their own branches
|
|
# in git.git repository.
|
|
|
|
ID=`git-rev-parse --verify refs/heads/master` || exit $?
|
|
|
|
unset GIT_DIR
|
|
|
|
PUBLIC=/pub/software/scm/git/docs &&
|
|
MASTERREPO=`pwd` &&
|
|
DOCREPO=`dirname "$0"` &&
|
|
test "$DOCREPO" != "" &&
|
|
cd "$DOCREPO" || exit $?
|
|
|
|
git pull "$MASTERREPO" master &&
|
|
git fetch --tags "$MASTERREPO" || exit $?
|
|
test $(git-rev-parse --verify refs/heads/master) == "$ID" &&
|
|
NID=$(git-describe --abbrev=4 "$ID") &&
|
|
test '' != "$NID" || exit $?
|
|
|
|
# Set up subrepositories
|
|
test -d doc-htmlpages || (
|
|
mkdir doc-htmlpages &&
|
|
cd doc-htmlpages &&
|
|
git init-db || exit $?
|
|
|
|
if SID=$(git fetch-pack "$MASTERREPO" html)
|
|
then
|
|
git update-ref HEAD `expr "$SID" : '\(.*\) .*'` &&
|
|
git checkout || exit $?
|
|
fi
|
|
)
|
|
test -d doc-manpages || (
|
|
mkdir doc-manpages &&
|
|
cd doc-manpages &&
|
|
git init-db || exit $?
|
|
|
|
if SID=$(git fetch-pack "$MASTERREPO" man)
|
|
then
|
|
git update-ref HEAD `expr "$SID" : '\(.*\) .*'` &&
|
|
git checkout || exit $?
|
|
fi
|
|
)
|
|
find doc-htmlpages doc-manpages -type d -name '.git' -prune -o \
|
|
-type f -print0 | xargs -0 rm -f
|
|
|
|
cd Documentation &&
|
|
make WEBDOC_DEST="$DOCREPO/doc-htmlpages" install-webdoc >../:html.log 2>&1 &&
|
|
|
|
if test -d $PUBLIC
|
|
then
|
|
make WEBDOC_DEST="$PUBLIC" install-webdoc >>../:html.log 2>&1
|
|
else
|
|
echo "* No public html at $PUBLIC"
|
|
fi || exit $?
|
|
|
|
cd ../doc-htmlpages &&
|
|
(git add . || echo no new files -- not a big deal) &&
|
|
if git commit -a -m "Autogenerated HTML docs for $NID"
|
|
then
|
|
git-send-pack "$MASTERREPO" master:refs/heads/html || {
|
|
echo "* HTML failure"
|
|
exit 1
|
|
}
|
|
else
|
|
echo "* No changes in html docs"
|
|
fi
|
|
|
|
cd ../Documentation &&
|
|
make man1="$DOCREPO/doc-manpages/man1" man7="$DOCREPO/doc-manpages/man7" \
|
|
install >../:man.log 2>&1 &&
|
|
|
|
cd ../doc-manpages &&
|
|
(git add . || echo no new files -- not a big deal) &&
|
|
if git commit -a -m "Autogenerated man pages for $NID"
|
|
then
|
|
git-send-pack "$MASTERREPO" master:refs/heads/man || {
|
|
echo "* man failure"
|
|
exit 1
|
|
}
|
|
else
|
|
echo "* No changes in manual pages"
|
|
fi
|
|
|