#!/bin/bash FILES=$@ echo "Creating commit message..." MSG=`mktemp` svn di $FILES | filterdiff -i*ChangeLog | grep '^[+]' | grep -v '^[+][+]' | sed s/^[+]// > $MSG cat $MSG echo About to commit svn st $FILES while [[ 1 ]] do read -a RESPONSE -p"Would you like to continue (Y)es/(N)o/(E)dit Message: " if [[ $? != 0 ]] then RESPONSE="N" fi case $RESPONSE in "Y" | "y" | "yes" | "Yes") echo "Comitting..." svn ci -F $MSG $FILES rm $MSG exit 0 ;; "N" | "n" | "no" | "No") echo "Aborting..." rm $MSG exit 1 ;; "E" | "e" | "ed" | "Ed" | "Edit" | "edit") vi $MSG # try again ;; *) # try again ;; esac done