git-hooks/pre-push

24 lines
605 B
Bash
Executable File

#!/bin/bash
# Requires toot: https://github.com/ihabunek/toot
# remote is $1 e.g. origin
# url is $2
url="${2#*@}"
url="${url%.git}"
url="${url#*://}"
shopt -s extglob
url="${url/:+([0-9])/}"
url="https://${url}"
branch="$(git branch | grep "\* ")"
branch="${branch:2}"
commit="$(git log -1 --pretty=%B)"
project="${2##*/}"
project="${project%.git}"
pusher="$(git log | grep -m1 "Author: ")"
pusher="${pusher#Author: }"
pusher="${pusher% <*@*.*>}"
toot post --quiet -v public -p "$project" -t "text/markdown" "$pusher pushed changes to the $branch branch of the [$project project]($url)
$commit"
exit 0