void/local/bin/scripts/irc-post-commit-hook
2024-11-29 03:15:53 -05:00

27 lines
1.2 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# irc post-commit hook - developed by acidvegas (https://git.acid.vegas/void)
# Place this file in .git/hooks/post-commit and chmod +x
# Configuration
WEECHAT_NETWORK="supernets"
WEECHAT_CHANNEL="#dev"
WEECHAT_FIFO="/home/acidvegas/.local/share/weechat/weechat_fifo"
SSH_SERVER="war"
# Get commit data for the message
_data=$(git log -1 --graph --pretty=format:"%h|%s|%cn")
_hash=$(echo "$_data" | cut -d'|' -f1 | cut -c 3-)
_msg=$(echo "$_data" | cut -d'|' -f2)
_name=$(echo "$_data" | cut -d'|' -f3)
#_name=$(basename $(dirname $(git rev-parse --show-toplevel))) # For locally parsing organization names
_repo=$(basename -s .git $(git config --get remote.origin.url))
_summary=$(git show $_hash --stat | grep -E "fil(e|es) changed" | awk '{files+=$1; inserted+=$4; deleted+=$6} END {printf "%s|+%s|-%s", files, inserted, deleted }')
_files=$(echo $_summary | cut -d'|' -f1)
_inserts=$(echo $_summary | cut -d'|' -f2)
_deletes=$(echo $_summary | cut -d'|' -f3)
_ircmsg="irc.$WEECHAT_NETWORK.$WEECHAT_CHANNEL *14[11GitHub14] Commit pushed to 08$_name/$_repo (06$_hash) 14[$_files14|03$_inserts14|04$_deletes14] : $_msg"
# Send the message to weechat
echo "$_ircmsg" | ssh $SSH_SERVER tee $WEECHAT_FIFO > /dev/null