25 lines
821 B
Bash
Executable File
25 lines
821 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
|