Mercurial > cds
view cds-churn @ 43:7fc785a79615
renamed penis to churn
author | Josef "Jeff" Sipek <jsipek@cs.sunysb.edu> |
---|---|
date | Sat, 05 May 2007 15:53:53 -0400 |
parents | cds-penis@ba807b74c433 |
children |
line wrap: on
line source
#!/bin/bash function annotate { for file in `find . -type f | grep -v CVS | xargs -0`; do cvs annotate $file 2> /dev/null | awk '{print $2}' | cut -c 2- done } function centergraph { WIDTH=$1 LINES=$2 MAX=$3 my=`echo "scale=3; $WIDTH * ($LINES / $MAX)" | bc -lq | sed -e 's/\./\n/' | head -1` if [ -z "$my" ] ; then # bc likes to use .xyz for numbers < 1 my=0 fi for ((i=0; $i < $my ; i=$(($i+1)) )); do printf "#" done } DIR=`dirname $0` WIDTH=`stty -a | head -1 | awk '{print $7}' | sed -e 's/[^0-9]//'` MAX=-1 for entry in `annotate | sort | uniq -c | sort -nr | awk '{print $1 "@" $2}'`; do entry=`echo $entry | sed -e 's/@/ /'` LINES=`echo $entry | awk '{print $1}'` SIZE=`echo $entry | awk '{print $2}'` if [ $MAX -eq -1 ] ; then MAX=$LINES fi CENTER=`centergraph $(($WIDTH-6-1-15-1-1)) $LINES $MAX` SIZE=`echo $SIZE | $DIR/truncate 15` printf "%6d %s %s\n" $LINES "$SIZE" "$CENTER" done