#!/bin/sh set -u set -e EVENTUM_URL=XXX/eventum SCM_MODULE=Websites USER=XXX PASS=XXX ping_eventum() { old=$1 rev=$2 reallog=`git log --format=%B -n1 $rev` log="$(echo $reallog | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g')" author=`git log --format=%ae -n1 $rev` issues=`echo $reallog | perl -ne 'm/(?:issue|bug) ?:? ?#? ?(\d+)/i and print "$1\n"'` if test -z "$issues" ; then echo "$rev No issues found" return else echo "$rev Found issues: `echo $issues`" fi files=`git show --pretty="format:" --name-only $rev` url="$EVENTUM_URL/scm_ping.php" url="${url}?module=$SCM_MODULE" url="${url}&username=$author" url="${url}&commit_msg=$log" for file in $files ; do url="${url}&files[]=$file" url="${url}&new_versions[]=$rev" url="${url}&old_versions[]=$old" done for issue in $issues ; do url="${url}&issue[]=$issue" done wget -q --user=$USER --password=$PASS -O- "$url" 2>&1 } while read old new origin ; do lastold=$old for rev in `git rev-list $old..$new`; do ping_eventum $lastold $rev lastold=$rev done done