X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=git-mirror;h=6d3f00cad6a7e6810d7b72deefd9834796909630;hb=55a218e51cd587265c04508f816b8b2fff56840e;hp=3253b90a4b843605ff9426f2734921d54904c811;hpb=3039ce104609b6db6321b7d2ac5d2a0237390d92;p=bin.git diff --git a/git-mirror b/git-mirror index 3253b90..6d3f00c 100755 --- a/git-mirror +++ b/git-mirror @@ -1,9 +1,10 @@ -#!/usr/bin/sh +#!/usr/bin/env sh # Mirror some Git repos usage() { echo 'Usage: git-mirror [command] [arguments] git-mirror run [path to repos] [path to log file] [html directory] + optional: [sleep duration] git-mirror gen-url [path to repo] -- generate url file in repo git-mirror help -- show this message @@ -14,50 +15,57 @@ usage() { run() { [ -z ${3} ] && echo "not enough arguments" && exit 1 [ -z $(which stagit) ] && echo "please install stagit" && exit 1 + [ -z $(which minify) ] && echo "please install minify" && exit 1 cd ${1} [ -d ${3} ] || mkdir ${3} - stagit-index ./* > ${3}/index.html - cp /usr/share/doc/stagit/style.css ${3} + cd ${3} while :; do - find ${1} -maxdepth 2 -name '*.git' | \ + stagit-index ${1}/* + find "$1" -name '*.git' -type d | \ while read dir; do newdir=${3}/$(basename ${dir} .git) [ -d ${newdir} ] || mkdir ${newdir} cd ${newdir} stagit ${dir} - cp /usr/share/doc/stagit/style.css . - git -C ${dir} fetch --tags - echo $(date -Iseconds) ' | ' ${dir} | tee -a ${2} - echo $(tail -n 1500 ${2}) > ${2} + cp "$1/logo.png" . + ln -s logo.png favicon.png + find . -type f \( -name '*.html' -or -name '*.xml' \) | \ + while read i ; do + minify ${i} > ${i}.tmp + mv ${i}.tmp ${i} + done + git -C ${dir} fetch --tags + echo $(date -Iseconds) ' | ' ${dir} | tee -a ${2} + echo $(tail -n 1500 ${2}) > ${2} + done + sleep ${4:-600} done - sleep 600 - done -} + } -gen_url() { - find ${1} -maxdepth 2 -name '*.git' | \ - while read dir; do - $(git -C $dir remote get-url origin) > $dir/url - done -} + gen_url() { + find ${1} -maxdepth 2 -name '*.git' | \ + while read dir; do + $(git -C $dir remote get-url origin) > $dir/url + done + } -case ${1} in - -h | --help | help) - usage - ;; - run) - shift 1 - run $@ - ;; - gen-url) - shift 1 - gen_url $@ - ;; - *) - usage - exit 1 - ;; -esac + case ${1} in + -h | --help | help) + usage + ;; + run) + shift 1 + run $@ + ;; + gen-url) + shift 1 + gen_url $@ + ;; + *) + usage + exit 1 + ;; + esac