diff --git a/hipchat-post-receive b/hipchat-post-receive
index 209f2e6..bf9f52e 100755
--- a/hipchat-post-receive
+++ b/hipchat-post-receive
@@ -1,30 +1,30 @@
-#!/bin/sh
+#!/bin/bash
# Read variables passed on by GIT
read OLDREV NEWREV REFNAME
# Find out basic variables
-GIT_EXEC=${GIT_EXEC:-`which git`}
-REPO=${REPO:-`basename $PWD`}
-HIPCHAT_COLOR=${HIPCHAT_COLOR:-"yellow"}
+GIT_EXEC="${GIT_EXEC:-$(which git)}"
+REPO="${REPO:-$(basename $PWD)}"
+HIPCHAT_COLOR="${HIPCHAT_COLOR:-'yellow'}"
# User is commiter of either last or first commit
NULLREV="0000000000000000000000000000000000000000"
-[ "$NEWREV" = "$NULLREV" ] && USER_REV="$OLDREV" || USER_REV="$NEWREV"
-USER=`$GIT_EXEC log -1 $USER_REV --format="%aN"`
-BRANCH=${REFNAME#refs/heads/}
+[[ "$NEWREV" == "$NULLREV" ]] && USER_REV="$OLDREV" || USER_REV="$NEWREV"
+USER=$($GIT_EXEC log -1 $USER_REV --format="%aN")
+BRANCH="${REFNAME#refs/heads/}"
# Setup gitweb links
-if [ -n "$GITWEB" ]
+if [[ -n "$GITWEB" ]]
then
- USER_LINK="$USER"
- BRANCH_LINK="$BRANCH"
- REPO_LINK="$REPO"
-elif [ -n "$CGIT" ]
+ USER_LINK="$USER"
+ BRANCH_LINK="$BRANCH"
+ REPO_LINK="$REPO"
+elif [[ -n "$CGIT" ]]
then
USER_LINK=$USER
- BRANCH_LINK="$BRANCH"
- REPO_LINK="$REPO"
+ BRANCH_LINK="$BRANCH"
+ REPO_LINK="$REPO"
else
USER_LINK=$USER
BRANCH_LINK=$BRANCH
@@ -32,43 +32,46 @@ else
fi
# Construct gitorious links
-if [ -n "$GITORIOUS" ]
+if [[ -n "$GITORIOUS" ]]
then
- REPO_NO_GIT=`echo -e $REPO|sed "s/.git//g"`
- USER_LINK="$USER"
- REPO_LINK="$REPO"
- BRANCH_LINK="$BRANCH"
+ REPO_NO_GIT=$(echo -e $REPO|sed "s/.git//g")
+ USER_LINK="$USER"
+ REPO_LINK="$REPO"
+ BRANCH_LINK="$BRANCH"
fi
# Construct message
-if [ "$OLDREV" = "$NULLREV" ]
+if [[ "$OLDREV" == "$NULLREV" ]]
then
MSG="$USER_LINK created branch $BRANCH_LINK of $REPO_LINK"
HIPCHAT_COLOR="green"
-elif [ "$NEWREV" = "$NULLREV" ]
+elif [[ "$NEWREV" == "$NULLREV" ]]
then
MSG="$USER_LINK deleted branch $BRANCH of $REPO_LINK"
HIPCHAT_COLOR="red"
else
TITLE="$USER_LINK pushed to branch $BRANCH_LINK of $REPO_LINK"
- if [ -n "$GITWEB" ]
+ if [[ -n "$GITWEB" ]]
then
- LOG=`$GIT_EXEC log $OLDREV..$NEWREV --format="- %s (%h)"`
- elif [ -n "$CGIT" ]
+ FMT_STR="- %s (%h)"
+ elif [[ -n "$CGIT" ]]
then
- LOG=`$GIT_EXEC log $OLDREV..$NEWREV --format="- %s (%h)"`
+ FMT_STR="- %s (%h)"
elif [ -n "$GITORIOUS" ]
then
- LOG=`$GIT_EXEC log $OLDREV..$NEWREV --format="- %s (%h)"`
+ FMT_STR="- %s (%h)"
else
- LOG=`$GIT_EXEC log $OLDREV..$NEWREV --format="- %s (%h)"`
+ FMT_STR="- %s (%h)"
fi
- if [ -n "$REDMINE" ]
+
+ LOG=$($GIT_EXEC log $OLDREV..$NEWREV --format="$FMT_STR")
+
+ if [[ -n "$REDMINE" ]]
then
- LOG=`echo -e "$LOG" | sed "s/#\([0-9]*\)/#\1<\/a>/g"`
+ LOG=$(echo -e "$LOG" | sed "s|#\([0-9]*\)|#\1|g")
elif [ -n "$JIRA" ]
then
- LOG=`echo -e "$LOG" | sed "s/\([A-Z]\{2,\}\-[0-9]\{1,\}\)/\1<\/a>/g"`
+ LOG=$(echo -e "$LOG" | sed "s|\([A-Z]\{2,\}\-[0-9]\{1,\}\)|\1|g")
fi
MSG="$TITLE\n$LOG"
fi