Mercurial > cds
changeset 43:7fc785a79615
renamed penis to churn
author | Josef "Jeff" Sipek <jsipek@cs.sunysb.edu> |
---|---|
date | Sat, 05 May 2007 15:53:53 -0400 |
parents | f306ba1edc36 |
children | 4cf415450143 |
files | cds-churn cds-penis |
diffstat | 2 files changed, 45 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cds-churn Sat May 05 15:53:53 2007 -0400 @@ -0,0 +1,45 @@ +#!/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 +
--- a/cds-penis Sat May 05 15:20:40 2007 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -#!/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 centerdick -{ - 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}'` - DICK=`echo $entry | awk '{print $2}'` - - if [ $MAX -eq -1 ] ; then - MAX=$LINES - fi - - CENTER=`centerdick $(($WIDTH-6-1-15-1-2-1-1)) $LINES $MAX` - DICK=`echo $DICK | $DIR/truncate 15` - printf "%6d %s 8=%sD\n" $LINES "$DICK" "$CENTER" -done -