diff options
author | Gustav Eek <gustav.eek@fripost.org> | 2020-03-25 12:05:15 +0100 |
---|---|---|
committer | Gustav Eek <gustav.eek@fripost.org> | 2020-03-25 12:05:15 +0100 |
commit | 651cc8c6a1eff5bf0689f99ab0b73dd954f99d60 (patch) | |
tree | 2df81615fa8f6c322738b215441a58171fb2b0a9 /tools/status | |
parent | 99ed758d9a9e949d9190e08d4bceeb0408d69b48 (diff) | |
parent | 42921d4813a3d85c64f2448a7633a2d3c6baa75a (diff) |
Merge branch 'master' into 2019-09-23-board
Diffstat (limited to 'tools/status')
-rwxr-xr-x | tools/status | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/status b/tools/status new file mode 100755 index 0000000..f053ef4 --- /dev/null +++ b/tools/status @@ -0,0 +1,48 @@ +#!/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 |