stagit/assets/post-receive

25 lines
826 B
Bash
Executable File

#!/bin/sh
# stagit post-receive script - developed by acidevegas (https://git.acid.vegas/stagit)
URL="git.acid.vegas"
PROTO="https"
CLONE_URL="git://$URL"
COMMIT_LIMIT=100
HTML_DIR="/srv/http"
DIR="$PWD"
REPO=$(basename "$DIR" .git)
command -v stagit >/dev/null 2>&1 || { echo "stagit not found" >&2; exit 1; }
mkdir -p "$HTML_DIR/$REPO" || { echo "Failed to create directory $HTML_DIR/$REPO" >&2; exit 1; }
if cd "$HTML_DIR/$REPO"; then
stagit -l "$COMMIT_LIMIT" -u "$PROTO://$URL/$REPO" "$DIR" || { echo "stagit failed to generate static pages" >&2; exit 1; }
ln -sf log.html index.html
git --git-dir="$DIR" archive --format=tar.gz -o "$HTML_DIR/$REPO/archive.tar.gz" --prefix="$REPO/" HEAD || { echo "git archive failed" >&2; exit 1; }
else
echo "Failed to change directory to $HTML_DIR/$REPO" >&2
exit 1
fi