#!/usr/bin/env bash y=$(basename $(pwd)) b=$(git branch | grep '\*' | tr '*' ' ') # Control all= year=true case $1 in -v) all=true ;; esac if ! [[ $y =~ ^[0-9]*$ ]]; then # Not a year year= all=true fi function year_branches { echo "Minues tex files $y on $b:" ls -1 $y*.tex | while read f; do wc=$(cat $f | sed '/begin{document}/,/end{document}/ p; d' | wc -w) echo " $(printf '%s %4.d' $f $wc)" done echo "Local branches of $y:" git branch | grep "master\|$y" | tr '*' ' ' \ | xargs -I{} -n1 git log -n1 \ --pretty=format:" {} - %h -%d%n %s%n (%an, %ad, %cr)"\ {} } function all_branches { echo "All branches (commiter date, author date, hash, branch):" git branch -a | tr '*' ' ' | grep -v HEAD \ | xargs -n1 git log -n1 \ --date=short \ --pretty=format:' %cd %ad %h -%d%n' \ | sort -u } if [[ "${0##*/}" == "status" ]]; then test -n "$year" && year_branches test -n "$all" && all_branches fi