#! /bin/sh
-current="`git config --get --path remote.current.url`"
-origin="`git config --get --path remote.origin.url`"
+"$HOME"/admin/prog/git-scripts/update || exit 1
-if [ -n "$origin" ]; then
- if [ -n "$current" ]; then
- echo "UNKNOWN ERROR"
- else
- echo "This script must be run in the origin directory: $origin"
- fi >&2
- exit 1
-elif [ -z "$current" ]; then
- echo "UNKNOWN ERROR" >&2
- exit 1
-fi
+current="`git config --get --path remote.current.url`"
-git pull --ff-only current master &&
+# Copy templates and generated files with timestamps to avoid rebuilding
+rsync -ahP "$current"/html/html.py "$current"/html/html.tmpl \
+ "$current"/html/redirect.py "$current"/html/redirect.tmpl html &&
-web="`git config --get --path remote.web.url`" &&
-[ -n "$web" ] && git push web
+# Copy files generated by yacc
+rsync -ahP "$current"/parser.out "$current"/parsetab.py . &&
-# Copy search_tags.* with timestamp to avoid rebuilding
-rsync -ahP "$current"/search_tags.py "$current"/search_tags.tmpl . &&
+cgi="`git config --get --path remote.cgi.url`" &&
+if [ -n "$cgi" ]; then
+ umask 022 && cd "$cgi" && git pull origin &&
+ rsync -ahP "$current"/html/html.py "$current"/html/html.tmpl \
+ "$current"/html/redirect.py "$current"/html/redirect.tmpl html &&
+ rsync -ahP "$current"/parser.out "$current"/parsetab.py . &&
+ compyleall && chmod -R a+rX .
+fi &&
cd "$current" && exec git pull origin