#!/bin/bash IRKERPATH=/usr/bin/ function help_irker() { echo "Required config settings:" echo " git config irker.channels 'channel1 channel2 ..'" echo " git config irker.project 'Project name'" echo " git config irker.server 'server'" echo " git config irker.server 'server'" } function notify_irker() { old=$1 new=$2 refname=$3 if [ "x$old" = "x0000000000000000000000000000000000000000" ]; then # We're pushing into an empty repo, so we need a different command # to get the rev list # This does the wrong thing if the parent of the branch isn't master # but it is kind of correct most of the time ${IRKERPATH}/irkerhook --refname=${refname} \ $(git rev-list $new --not master) elif [ "x$new" = "x0000000000000000000000000000000000000000" ]; then # We're deleting a branch - we need to do the right thing # (whatever that is) # This is not the right thing, but will do for now repo=$(basename $PWD | sed 's/.git$//' ) for channel in $(git config --get irker.channels | sed "s/,/ /"); do ${IRKERPATH}/irk $channel "$repo: Deleted branch $refname" done else ${IRKERPATH}/irkerhook --refname=${refname} \ $(git rev-list --reverse ${old}..${new}) fi }