X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=git-mirror;h=a6eaa6b8b84bcbec73d7fe1e220280da70d3f4b0;hb=26ce4f633da6e65105ff9d9046b760d28a4a3809;hp=6457db6c27eeb29bc672bcff33aa5f1db3f240c8;hpb=426c466288b01539375aff6b5401d84dbe005e69;p=bin.git diff --git a/git-mirror b/git-mirror index 6457db6..a6eaa6b 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] + 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 @@ -12,57 +13,59 @@ 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 + [ -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} + cd ${1} - [ -d ${3} ] || mkdir ${3} - cd ${3} && stagit-index - cp /usr/share/doc/stagit/style.css ${3} + [ -d ${3} ] || mkdir ${3} + cd ${3} - while :; do - for dir in "${1}/*.git"; do - newdir=${3}/$(basename ${dir} .git) - [ -d ${newdir} ] || mkdir ${newdir} - cd ${newdir} - stagit ${dir} - find . -type f \( -name '*.html' -or -name '*.xml' \) | \ - while read i ; do - minify ${i} > ${i}.tmp - mv ${i}.tmp ${i} - done - 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} - done - sleep 600 - done + while :; do + 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 "$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 } gen_url() { - find ${1} -maxdepth 2 -name '*.git' | \ - while read dir; do - $(git -C $dir remote get-url origin) > $dir/url - done + 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 - ;; + -h | --help | help) + usage + ;; + run) + shift 1 + run $@ + ;; + gen-url) + shift 1 + gen_url $@ + ;; + *) + usage + exit 1 + ;; esac