diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/status | 51 |
1 files changed, 39 insertions, 12 deletions
diff --git a/tools/status b/tools/status index a95737d..f053ef4 100755 --- a/tools/status +++ b/tools/status @@ -1,21 +1,48 @@ #!/usr/bin/env bash + y=$(basename $(pwd)) b=$(git branch | grep '\*' | tr '*' ' ') -if ! [[ $y =~ ^[0-9]*$ ]]; then - echo "${0##*/}: E: Not year. Exit." - exit 1 +# Control + +all= +year=true + +case $1 in + -v) all=true ;; +esac + +if ! [[ $y =~ ^[0-9]*$ ]]; then # Not a year + year= + all=true fi -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 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 |