vt-alt/ktools
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
#!/bin/bash
# Show documentation updates
set -efu
remote='origin'
patterns=('**.md' '**.rst' ':(icase)**news' ':(icase)**readme')
unset opts
unset range
for opt do
shift
case "$opt" in
--adoc) patterns=('**.adoc') ;;
--md) patterns=('**.md') ;;
--readme) patterns=(':(icase)**readme*') ;;
--readme0) patterns=(':(icase)readme*') ;;
--news) patterns=(':(icase)**news') ;;
--txt) patterns=('**.txt') ;;
--stat|--oneline|-p|--no-merges) opts+=("$opt") ;;
--remote=*) remote=${opt#*=} ;;
-g|--gears) range=gears/sisyphus.. ;;
-[[:digit:]]) range=$(git tag -l --sort=creatordate '*-alt*' | tail $opt | head -1).. ;;
*..*|@|HEAD|*/*) range="$opt" ;;
esac
done
[ -v opts ] || opts=( '-p' )
[ -v range ] ||
remote_head=$(
git for-each-ref --sort=-committerdate --format='%(refname:short)' "refs/remotes/$remote" \
| grep -m1 -F -e /master -e /main
)
[ -d vendor ] && patterns+=(':!vendor')
set -x
# shellcheck disable=SC2086
git log "${opts[@]}" "${range-@.."$remote_head"}" -- "${patterns[@]}"