Created
April 22, 2010 22:25
-
-
Save grzegorzblaszczyk/375908 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
################################################################################ | |
# Subversion daily report generator 1.0 # | |
# fast & dirty version by Grzegorz Blaszczyk <[email protected]> # | |
################################################################################ | |
AFTER_HOURS=17 | |
CAT=`which cat` | |
CUT=`which cut` | |
HEAD=`which head` | |
LS=`which ls` | |
SED=`which sed` | |
SVN=`which svn` | |
### DO NOT EDIT BELOW THIS LIKE UNLESS YOU KNOW WHAT YOU'RE DOIN' :) ### | |
function usage() { | |
echo "Report of your SVN activity during last/current day"; | |
echo "Usage: $0 [svn_user] [from_date] [to_date]"; | |
} | |
if [ "x$1" == "x--help" ]; then | |
usage; | |
exit; | |
fi | |
HOUR_OF_THE_DAY=`date +%H` | |
TOMORROW=`date +%Y-%m-%d --date=tomorrow` | |
TODAY=`date +%Y-%m-%d` | |
YESTERDAY=`date +%Y-%m-%d --date='1 days ago'` | |
if [ "x$1" == "x" ]; then | |
#Determine my Subversion username | |
SVN_REPO_HOST=`$CAT .svn/entries | $SED -n 6p | $CUT -f 1-3 -d "/"` | |
CURRENT_DIR=`pwd` | |
SVN_CREDENTIAL_DIR="$HOME/.subversion/auth/svn.username/" | |
cd $SVN_CREDENTIAL_DIR | |
for i in `ls -1`; do | |
HOST=`sed -n '4p' $SVN_CREDENTIAL_DIR""$i` | |
if [ "$HOST" == "$SVN_REPO_HOST" ]; then | |
SVN_USERNAME=`sed -n '8p' $SVN_CREDENTIAL_DIR""$i` | |
fi | |
done | |
ME=$SVN_USERNAME | |
cd $CURRENT_DIR | |
else | |
ME="$1" | |
fi | |
if [ "x$2" == "x" ]; then | |
if [ $HOUR_OF_THE_DAY -gt $AFTER_HOURS ]; then | |
FROM=${TODAY} | |
TO=${TOMORROW} | |
else | |
FROM=${YESTERDAY} | |
TO=${TODAY} | |
fi | |
else | |
FROM=$2; | |
TO=$3; | |
fi | |
$SVN log -r "{"$FROM"}:{"$TO"}" | grep -A 3 "| "$ME" |" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment