git-hooks/pre-push

23 lines
596 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}"
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